You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.2 KiB

package controller
import (
"context"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/frame/g"
"tyj_admin/api/v1/common"
"tyj_admin/internal/consts"
"tyj_admin/internal/service"
)
var Upload = new(uploadController)
type uploadController struct{}
// 上传单图
func (c *uploadController) SingleImg(ctx context.Context, req *common.UploadSingleImgReq) (res *common.UploadSingleRes, err error) {
r := g.RequestFromCtx(ctx)
file := r.GetUploadFile("file")
if file == nil {
err = gerror.New("上传文件必须")
return
}
v, _ := g.Cfg().Get(ctx, "upload.default")
response, err := service.Upload().UploadFile(ctx, file, consts.CheckFileTypeImg, v.Int())
if err != nil {
return
}
res = &common.UploadSingleRes{
UploadResponse: response,
}
// 上传第三方
return
}
// 上传多图
func (c *uploadController) MultipleImg(ctx context.Context, req *common.UploadMultipleImgReq) (res *common.UploadMultipleRes, err error) {
r := g.RequestFromCtx(ctx)
files := r.GetUploadFiles("file")
if len(files) == 0 {
err = gerror.New("上传文件必须")
return
}
v, _ := g.Cfg().Get(ctx, "upload.default")
mf, err := service.Upload().UploadFiles(ctx, files, consts.CheckFileTypeImg, v.Int())
if err != nil {
return
}
res = &mf
return
}
// 上传单文件
func (c *uploadController) SingleFile(ctx context.Context, req *common.UploadSingleFileReq) (res *common.UploadSingleRes, err error) {
r := g.RequestFromCtx(ctx)
file := r.GetUploadFile("file")
if file == nil {
err = gerror.New("上传文件必须")
return
}
v, _ := g.Cfg().Get(ctx, "upload.default")
response, err := service.Upload().UploadFile(ctx, file, consts.CheckFileTypeFile, v.Int())
if err != nil {
return
}
res = &common.UploadSingleRes{
UploadResponse: response,
}
return
}
// 上传多文件
func (c *uploadController) MultipleFile(ctx context.Context, req *common.UploadMultipleFileReq) (res *common.UploadMultipleRes, err error) {
r := g.RequestFromCtx(ctx)
files := r.GetUploadFiles("file")
if len(files) == 0 {
err = gerror.New("上传文件必须")
return
}
v, _ := g.Cfg().Get(ctx, "upload.default")
mf, err := service.Upload().UploadFiles(ctx, files, consts.CheckFileTypeFile, v.Int())
if err != nil {
return
}
res = &mf
return
}