mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-08-27 21:03:41 +08:00
38 lines
1016 B
Go
38 lines
1016 B
Go
// Package common
|
|
// @Link https://github.com/bufanyun/hotgo
|
|
// @Copyright Copyright (c) 2023 HotGo CLI
|
|
// @Author Ms <133814250@qq.com>
|
|
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
|
package common
|
|
|
|
import (
|
|
"context"
|
|
"github.com/gogf/gf/v2/errors/gerror"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"hotgo/api/admin/common"
|
|
"hotgo/internal/library/storager"
|
|
"hotgo/internal/service"
|
|
"hotgo/utility/validate"
|
|
)
|
|
|
|
var Upload = new(cUpload)
|
|
|
|
type cUpload struct{}
|
|
|
|
// UploadFile 上传文件
|
|
func (c *cUpload) UploadFile(ctx context.Context, _ *common.UploadFileReq) (res common.UploadFileRes, err error) {
|
|
r := g.RequestFromCtx(ctx)
|
|
uploadType := r.Header.Get("uploadType")
|
|
if uploadType != "default" && !validate.InSlice(storager.KindSlice, uploadType) {
|
|
err = gerror.New("上传类型是无效的")
|
|
return
|
|
}
|
|
|
|
file := r.GetUploadFile("file")
|
|
if file == nil {
|
|
err = gerror.New("没有找到上传的文件")
|
|
return
|
|
}
|
|
return service.CommonUpload().UploadFile(ctx, uploadType, file)
|
|
}
|