This commit is contained in:
2026-08-31 14:42:22 +08:00
72 changed files with 2479 additions and 168 deletions
@@ -1,4 +1,5 @@
using FileService.Application.StorageContracts;
using FileService.Domain.ValueObjects;
namespace FileService.Application.Ports
{
@@ -8,5 +9,21 @@ namespace FileService.Application.Ports
public Task<InitiateUploadResult> InitUploadAsync(InitiateUploadCommand command,CancellationToken token);
public Task<PresignedUrl> GenerateUploadUrlAsync(GenerateUploadUrlCommand command, CancellationToken token);
public Task<CompleteUploadResult> CompleteUploadAsync(CompleteUploadCommand command, CancellationToken token);
/// <summary>
/// 单次直传:把整个文件一次性写入存储(小文件,不分片)。
/// </summary>
public Task<StorageLocation> PutObjectAsync(PutObjectCommand command, CancellationToken token);
/// <summary>
/// 生成可直接访问的公开直链。
/// 文件位于公开桶/目录返回直链;私有文件返回 null(需走鉴权下载接口)。
/// </summary>
public string? GetPublicUrl(StorageLocation location);
/// <summary>
/// 打开文件读取流(用于私有文件鉴权下载)。
/// </summary>
public Task<Stream> OpenReadAsync(StorageLocation location, CancellationToken token);
}
}