feat: 实现多部分上传功能,支持初始化、上传部分、完成和中止上传,添加媒体资产删除功能

This commit is contained in:
2026-01-04 15:20:06 +08:00
parent 2ab1238ef7
commit 2438d363f5
9 changed files with 454 additions and 21 deletions

View File

@@ -60,6 +60,37 @@ func (r *Routes) Register(router fiber.Router) {
Local[*models.User]("__ctx_user"),
QueryParam[string]("hash"),
))
r.log.Debugf("Registering route: Post /v1/upload/init -> common.InitUpload")
router.Post("/v1/upload/init"[len(r.Path()):], DataFunc2(
r.common.InitUpload,
Local[*models.User]("__ctx_user"),
Body[dto.UploadInitForm]("form"),
))
r.log.Debugf("Registering route: Post /v1/upload/part -> common.UploadPart")
router.Post("/v1/upload/part"[len(r.Path()):], Func3(
r.common.UploadPart,
Local[*models.User]("__ctx_user"),
File[multipart.FileHeader]("file"),
Body[dto.UploadPartForm]("form"),
))
r.log.Debugf("Registering route: Post /v1/upload/complete -> common.CompleteUpload")
router.Post("/v1/upload/complete"[len(r.Path()):], DataFunc2(
r.common.CompleteUpload,
Local[*models.User]("__ctx_user"),
Body[dto.UploadCompleteForm]("form"),
))
r.log.Debugf("Registering route: Delete /v1/upload/:uploadId -> common.AbortUpload")
router.Delete("/v1/upload/:uploadId"[len(r.Path()):], Func2(
r.common.AbortUpload,
Local[*models.User]("__ctx_user"),
PathParam[string]("uploadId"),
))
r.log.Debugf("Registering route: Delete /v1/media-assets/:id -> common.DeleteMediaAsset")
router.Delete("/v1/media-assets/:id"[len(r.Path()):], Func2(
r.common.DeleteMediaAsset,
Local[*models.User]("__ctx_user"),
PathParam[string]("id"),
))
r.log.Debugf("Registering route: Post /v1/upload -> common.Upload")
router.Post("/v1/upload"[len(r.Path()):], DataFunc3(
r.common.Upload,