87 lines
2.2 KiB
Go
87 lines
2.2 KiB
Go
package web_file
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"videoweb/pub/common"
|
|
"videoweb/pub/common/log"
|
|
"videoweb/pub/common/srvdef"
|
|
"videoweb/pub/storage"
|
|
"videoweb/pub/storage/proxy"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// @Tags 文件上传
|
|
// @Summary 图片上传
|
|
// @Description 图片上传
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param file formData file true "文件"
|
|
// @Success 200 {object}} UploadImageResp "成功"
|
|
// @Failure 400 {string} string "失败"
|
|
// @Router /api/web/file/uploadImg [POST]
|
|
func UploadImage(ctx *gin.Context) {
|
|
f, err := ctx.FormFile("file")
|
|
if err != nil {
|
|
common.ServerJSON(ctx, srvdef.ErrParamError, err.Error())
|
|
return
|
|
}
|
|
imageUpoadDomain := proxy.BucketImageAddressV2
|
|
p, err := storage.UploadImage(ctx, f, imageUpoadDomain)
|
|
if err != nil {
|
|
common.ServerJSON(ctx, srvdef.ServerError, err.Error())
|
|
return
|
|
}
|
|
resp := &UploadImageResp{Path: p}
|
|
common.ServerJSON(ctx, srvdef.Success, resp)
|
|
}
|
|
|
|
// @Tags 文件上传
|
|
// @Summary 图片批量上传
|
|
// @Description 图片批量上传
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param file[] formData file true "文件"
|
|
// @Success 200 {object}} UploadImagesResp "成功"
|
|
// @Failure 400 {string} string "失败"
|
|
// @Router /api/web/file/uploadImgs [POST]
|
|
func UploadImages(ctx *gin.Context) {
|
|
form, err := ctx.MultipartForm()
|
|
if err != nil {
|
|
common.ServerJSON(ctx, srvdef.ErrParamError, err.Error())
|
|
return
|
|
}
|
|
resp := &UploadImagesResp{
|
|
Paths: make([]string, 0),
|
|
}
|
|
domain := proxy.BucketImageAddressV2
|
|
|
|
files := form.File["file[]"]
|
|
for _, f := range files {
|
|
fi, err := f.Open()
|
|
defer func() {
|
|
_ = fi.Close()
|
|
}()
|
|
if err != nil {
|
|
log.Warn("headers Open file wrong ", log.Any("Error", err))
|
|
common.ServerJSON(ctx, srvdef.ErrParamError, err.Error())
|
|
return
|
|
}
|
|
|
|
byteData, err := ioutil.ReadAll(fi)
|
|
if err != nil {
|
|
log.Warn("request multipart wrong ", log.Any("Error", err))
|
|
common.ServerJSON(ctx, srvdef.ErrParamError, err.Error())
|
|
return
|
|
}
|
|
path, err := proxy.UploadImg(f.Filename, byteData, domain)
|
|
if err != nil {
|
|
log.Warn("request multipart wrong ", log.Any("Error", err))
|
|
common.ServerJSON(ctx, srvdef.UploadToFileSrvFailed, err.Error())
|
|
return
|
|
}
|
|
resp.Paths = append(resp.Paths, path)
|
|
}
|
|
common.ServerJSON(ctx, srvdef.Success, resp)
|
|
}
|