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.
38 lines
918 B
38 lines
918 B
package controller
|
|
|
|
import (
|
|
"aws_service/config"
|
|
"aws_service/helpers"
|
|
"aws_service/service/bucket"
|
|
"fmt"
|
|
"path/filepath"
|
|
"time"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func Upload(ctx *gin.Context) {
|
|
f, err := ctx.FormFile("file")
|
|
if err != nil {
|
|
helpers.Return(ctx, 504, "文件上传失败", err.Error())
|
|
return
|
|
}
|
|
if f == nil {
|
|
helpers.Return(ctx, 504, "文件权柄为空", nil)
|
|
return
|
|
}
|
|
cfg := config.GetConfig()
|
|
fio, err := f.Open()
|
|
if err != nil {
|
|
helpers.Return(ctx, 504, "文件上传失败", err.Error())
|
|
}
|
|
|
|
filename := fmt.Sprintf("%d%s%s", time.Now().Unix(), helpers.Md5(f.Filename), filepath.Ext(f.Filename))
|
|
uri, err := bucket.Upload(cfg.AwsAccessKey, cfg.AwsSecretKey, cfg.AwsRegion, cfg.AwsBucketName,
|
|
cfg.AwsUploadPath, filename, fio)
|
|
if err != nil {
|
|
helpers.Return(ctx, 504, "文件上传失败", err.Error())
|
|
return
|
|
}
|
|
helpers.Return(ctx, 0, "文件上传成功", uri)
|
|
}
|