xiangning 8f85a2d3c8 refactor(file): 移除bucket参数并使用默认桶解析器
- 移除AbortMultipartCommand中的BucketName参数
- 移除CompleteMultipartCommand中的BucketName参数
- 移除DeleteFileCommand中的BucketName参数
- 移除DownloadFileQuery中的BucketName参数
- 移除GetFileContentQuery中的BucketName参数
- 移除GetFilePreviewQuery中的BucketName参数
- 移除GetOfficePreviewQuery中的BucketName参数
- 移除InitMultipartCommand中的BucketName参数
- 在各处理器中注入IBucketResolver并获取默认桶
- 更新所有相关端点和请求模型移除bucket参数
- 修改测试代码适配参数变更
- 添加IM离线消息到平台通知中心的跨模块集成实现
2026-07-03 13:32:08 +08:00

30 lines
897 B
C#

using File.Application.Features.Multipart.Commands;
using File.Application.Features.Multipart.DTOs;
using MediatR;
namespace BuildFlow.Host.Endpoints.file.Multipart;
/// <summary>上传单个分片端点。PUT /api/files/multipart/part。</summary>
[Authorize]
/// <summary>
/// undefined
/// </summary>
public class UploadPartEndpoint(IMediator mediator) : Endpoint<UploadPartRequest, UploadPartResult>
{
public override void Configure()
{
Put("/files/multipart/part");
Permissions("file:upload");
AllowFileUploads();
}
public override async Task HandleAsync(UploadPartRequest req, CancellationToken ct)
{
await using var stream = req.File.OpenReadStream();
var result = await mediator.Send(new UploadPartCommand(req.ObjectKey,
req.UploadId, req.PartNumber, stream), ct);
await Send.OkAsync(result, ct);
}
}