61 lines
1.8 KiB
C#
61 lines
1.8 KiB
C#
using LMS.Repository.DB;
|
|
using LMS.Repository.FileUpload;
|
|
using Qiniu.Http;
|
|
using static LMS.Repository.DTO.FileUploadDto;
|
|
|
|
namespace LMS.Tools.FileTool
|
|
{
|
|
public interface IQiniuService
|
|
{
|
|
/// <summary>
|
|
/// 检查文件的字节大小是否符合要求
|
|
/// </summary>
|
|
/// <param name="fileBytes"></param>
|
|
/// <returns></returns>
|
|
public Task<UploadResult> CheckFileBytesSize(byte[] fileBytes);
|
|
|
|
/// <summary>
|
|
/// 生成七牛云上传的路径 key
|
|
/// </summary>
|
|
/// <param name="userId"></param>
|
|
/// <param name="fileName"></param>
|
|
/// <returns></returns>
|
|
string GenerateFileKey(long userId, string fileName);
|
|
|
|
/// <summary>
|
|
/// 计算文件的 SHA1 哈希值
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
string ComputeSHA1Hash(byte[] data);
|
|
|
|
/// <summary>
|
|
/// 获取七牛云的配置 用于上传图片
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task<QiniuSettings> InitQiniuSetting();
|
|
|
|
/// <summary>
|
|
/// 生成七牛的上传凭证
|
|
/// </summary>
|
|
/// <param name="qiniuSettings"></param>
|
|
/// <returns></returns>
|
|
string GeneratePolicy(QiniuSettings qiniuSettings);
|
|
|
|
/// <summary>
|
|
/// 将 byte 数组上传到七牛云
|
|
/// </summary>
|
|
/// <param name="fileBytes"></param>
|
|
/// <returns></returns>
|
|
Task<FileUploads> UploadFileToQiNiu(byte[] fileBytes, long userId, string fileName, string fileKey);
|
|
|
|
/// <summary>
|
|
/// 构建文件的访问 URL
|
|
/// </summary>
|
|
/// <param name="domain"></param>
|
|
/// <param name="fileKey"></param>
|
|
/// <returns></returns>
|
|
string BuildFileUrl(string domain, string fileKey);
|
|
}
|
|
}
|