add:
更新
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
using IM_API.Dtos;
|
||||
using IM_API.Models.Upload;
|
||||
using IM_API.VOs;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IStorageService
|
||||
{
|
||||
string ProviderName { get; }
|
||||
UploadMode Mode { get; }
|
||||
/// <summary>
|
||||
/// 初始化上传任务
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
Task<CreateUploadTaskVo> InitTaskAsync(CreateUploadTaskDto dto);
|
||||
/// <summary>
|
||||
/// 创建分片任务
|
||||
/// </summary>
|
||||
/// <param name="taskId">文件上传任务ID</param>
|
||||
/// <param name="partNumer"></param>
|
||||
/// <returns></returns>
|
||||
Task<UploadPartInstructionVo> CreatePartInstructionAsync(Guid taskId, int partNumer);
|
||||
Task<Guid> CompleteAsync(
|
||||
Guid taskId,
|
||||
List<UploadPartDto> parts
|
||||
);
|
||||
|
||||
Task MergeAsync(Guid taskId, string objectName, int totalChunks, List<UploadPartDto> parts);
|
||||
|
||||
Task<UploadTask> UploadSmallFileAsync(Stream stream, string fileName, string fileType, long size, string hash);
|
||||
string GetDownloadUrl(string objectname);
|
||||
}
|
||||
public enum UploadMode
|
||||
{
|
||||
Proxy, // 本地 / 后端中转
|
||||
Direct // 云直传
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user