// Code scaffolded by goctl. Safe to edit. // goctl 1.9.2 package file import ( "net/http" "juwan-backend/app/objectstory/api/internal/logic/file" "juwan-backend/app/objectstory/api/internal/svc" "juwan-backend/app/objectstory/api/internal/types" "github.com/zeromicro/go-zero/rest/httpx" ) // 文件获取接口 (如果是私有文件,通过此接口获取或重定向) func GetFileHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.GetFileReq if err := httpx.Parse(r, &req); err != nil { httpx.ErrorCtx(r.Context(), w, err) return } l := file.NewGetFileLogic(r.Context(), svcCtx) url, err := l.GetFile(&req) if err != nil { httpx.ErrorCtx(r.Context(), w, err) } else { http.Redirect(w, r, url, http.StatusTemporaryRedirect) } } }