|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- package hdl
-
- import (
- "applet/app/db/implement"
- "applet/app/e"
- "applet/app/lib/validate"
- "applet/app/md"
- "applet/app/svc"
- "applet/app/utils"
- "applet/app/utils/logx"
- md2 "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/md"
- qiniu "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/qiniuyun"
- "fmt"
- "github.com/gin-gonic/gin"
- )
-
- // ImgReqUpload
- // @Summary 七牛云上传
- // @Tags 七牛云
- // @Description 七牛云-七牛云上传
- // @param Authorization header string false "验证参数Bearer和token空格拼接"
- // @Accept json
- // @Produce json
- // @Param args body md.ImgReqUpload true "请求参数"
- // @Success 200 {string} "success"
- // @Failure 400 {object} md.Response "具体错误"
- // @Router /api/qiniuyun/upload [POST]
- func ImgReqUpload(c *gin.Context) {
- var args md.ImgReqUpload
- err := c.ShouldBindJSON(&args)
- if err != nil {
- err = validate.HandleValidateErr(err)
- err1 := err.(e.E)
- e.OutErr(c, err1.Code, err1.Error())
- return
- }
- // 文件名名称
-
- if args.FileSize < 1 || args.FileName == "" {
- logx.Warn(err)
- e.OutErr(c, e.ERR_INVALID_ARGS)
- return
- }
- scheme := "http"
- if c.Request.TLS != nil {
- scheme = "https"
- }
- // 拼装回调地址
- callbackUrl := scheme + "://" + c.Request.Host + "/api/qiniuyun/callback?master_id=" + c.GetString("mid")
- NewSysCfgDb := implement.NewSysCfgDb(svc.MasterDb(c), c.GetString("mid"))
- stgInfo := NewSysCfgDb.SysCfgFindWithDb(
- md2.KEY_CFG_FILE_BUCKET,
- md2.KEY_CFG_FILE_HOST,
- md2.KEY_CFG_FILE_AK,
- md2.KEY_CFG_FILE_SK,
- md2.KEY_CFG_FILE_PVD,
- md2.KEY_CFG_FILE_REGION,
- md2.KEY_CFG_FILE_MAX_SIZE,
- md2.KEY_CFG_FILE_EXT,
- md2.KEY_CFG_FILE_SCHEME,
- md2.KEY_CFG_FILE_AVATAR_THUMBNAIL,
- )
- if stgInfo == nil {
- e.OutErr(c, 400, e.NewErr(400, "配置未设置"))
- return
- }
- res, err := qiniu.ImgReqUpload(stgInfo, "", args.Dir, args.FileName, callbackUrl, args.FileSize)
- if err != nil {
- e.OutErr(c, 400, err.Error())
- return
- }
- my := utils.SerializeStr(res)
- var my1 map[string]interface{}
- utils.Unserialize([]byte(my), &my1)
- e.OutSuc(c, my1, nil)
- return
- }
- func FileImgCallback(c *gin.Context) {
- masterID := c.Query("master_id")
- c.Set("mid", masterID)
- var args md2.FileCallback
- err := c.ShouldBindJSON(&args)
-
- if err != nil {
- fmt.Println("七牛云上传回调参数错误:>>>>>>>>>>", err)
- e.OutErr(c, 200, e.ERR_INVALID_ARGS)
- return
- }
- res := map[string]interface{}{
- "name": args.FileName,
- "fname": getFileNameURL(c, args.FileName),
- "fsize": args.FileSize,
- "provider": args.Provider,
- "uid": args.Uid,
- "dir_id": args.DirId,
- "w": args.Width,
- "h": args.Height,
- }
- e.OutSuc(c, &res, nil)
- }
-
- func getFileNameURL(c *gin.Context, filename string) string {
- NewSysCfgDb := implement.NewSysCfgDb(svc.MasterDb(c), c.GetString("mid"))
-
- protocol := NewSysCfgDb.SysCfgGetWithDb("file_bucket_scheme")
- domain := NewSysCfgDb.SysCfgGetWithDb("file_bucket_host")
- if protocol != "" && domain != "" {
- return protocol + "://" + domain + "/" + filename
- }
- return filename
- }
|