完成文件上传业务层

This commit is contained in:
2025-10-31 16:46:50 +08:00
parent adb9ffa5eb
commit d634ce1993
3 changed files with 75 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package fileupload
import (
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/file/internal/logic/fileupload"
"github.com/gin-gonic/gin"
)
func UploadFileHandler(cfg *config.Config) gin.HandlerFunc {
return func(c *gin.Context) {
// 1. 传递上下文:直接用 Gin 上下文的 c.Context()(包含超时、取消等信息,比 c.Request.Context() 更完整)
ctx := c.Request.Context()
// 2. 创建 Logic 实例:参数顺序/类型与 Logic 层构造函数完全匹配ctx, cfg, c
// 注意:此处第三个参数是 Gin 上下文 c与你 Logic 层的 `c *gin.Context` 字段对应
l := fileupload.NewUploadFileLogic(ctx, cfg, c)
// 3. 调用 Logic 层方法:无需处理返回的 resp/err因为 Logic 层已通过 l.c.JSON 返回响应)
// 即使返回 errLogic 层也已提前返回错误响应,此处仅需调用方法即可
_, _ = l.UploadFile()
// 4. 无需额外响应处理!!!(关键:避免重复调用 c.JSON/httpx 导致错误)
}
}