You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
2.9 KiB

3 years ago
using ce.autofac.extension;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace learun.iapplication
{
/// <summary>
/// 版 本 EasyCode EC管理后台
/// Copyright (c) 2019-present EC管理有限公司
/// 创建人:tobin
/// 日 期:2019.09.25
/// 描 述:附件管理
/// </summary>
public interface AnnexesFileIBLL : IBLL
{
#region 获取数据
/// <summary>
/// 获取实体列表
/// </summary>
/// <param name="keyValue">附件夹主键</param>
/// <returns></returns>
Task<IEnumerable<AnnexesFileEntity>> GetList(string keyValue);
/// <summary>
/// 获取附件名称集合
/// </summary>
/// <param name="keyValue">主键值</param>
/// <returns></returns>
Task<string> GetFileNames(string keyValue);
/// <summary>
/// 获取附件实体
/// </summary>
/// <param name="keyValue">主键</param>
/// <returns></returns>
Task<AnnexesFileEntity> GetEntity(string keyValue);
#endregion 获取数据
#region 提交数据
/// <summary>
/// 保存数据实体
/// </summary>
/// <param name="folderId">附件夹主键</param>
/// <param name="annexesFileEntity">附件实体数据</param>
Task SaveEntity(string folderId, AnnexesFileEntity annexesFileEntity);
/// <summary>
/// 删除附件
/// </summary>
/// <param name="fileId">文件主键</param>
Task DeleteEntity(string fileId);
#endregion 提交数据
#region 扩展方法
/// <summary>
/// 保存附件(支持大文件分片传输)
/// </summary>
/// <param name="folderId">附件夹主键</param>
/// <param name="fileGuid">文件主键</param>
/// <param name="fileName">文件名称</param>
/// <param name="chunks">文件总共分多少片</param>
Task<bool> SaveAnnexes(string folderId, string fileGuid, string fileName, int chunks);
/// <summary>
/// 保存附件(支持大文件分片传输)
/// </summary>
/// <param name="fileGuid">文件主键</param>
/// <param name="fileName">文件名称</param>
/// <param name="chunks">文件总共分多少片</param>
/// <returns></returns>
string SaveAnnexes(string fileGuid, string fileName, int chunks);
/// <summary>
/// 保存附件到文件中
/// </summary>
/// <param name="fileGuid">文件主键</param>
/// <param name="filePath">文件路径</param>
/// <param name="chunks">总共分片数</param>
/// <returns></returns>
long SaveAnnexesToFile(string fileGuid, string filePath, int chunks);
/// <summary>
/// 保存分片附件
/// </summary>
/// <param name="fileGuid">文件主键</param>
/// <param name="chunk">分片文件序号</param>
/// <param name="bytes">文件流</param>
void SaveChunkAnnexes(string fileGuid, int chunk, byte[] bytes);
/// <summary>
/// 移除文件分片数据
/// </summary>
/// <param name="fileGuid">文件主键</param>
/// <param name="chunks">文件分片数</param>
void RemoveChunkAnnexes(string fileGuid, int chunks);
#endregion 扩展方法
}
}