| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 
							- package shanghu
 
- import (
 
- 	"context"
 
- 	"duoduo/apis/shanghu/models"
 
- 	"duoduo/conf"
 
- 	"duoduo/tools/app"
 
- 	"fmt"
 
- 	"github.com/gin-gonic/gin"
 
- 	"github.com/qiniu/go-sdk/v7/auth/qbox"
 
- 	"github.com/qiniu/go-sdk/v7/storage"
 
- 	"time"
 
- )
 
- func UploadPicture(c *gin.Context) {
 
- 	var inData models.UploadPictureRequest
 
- 	var outData models.UploadPictureReply
 
- 	confIni, err := conf.ConnIni()
 
- 	if err != nil {
 
- 		app.Error(c, 400, err, err.Error())
 
- 		return
 
- 	}
 
- 	err = c.ShouldBindJSON(&inData)
 
- 	if err != nil {
 
- 		app.Error(c, 400, err, err.Error())
 
- 		return
 
- 	}
 
- 	for i := 0; i < len(inData.Picture); i++ {
 
- 		//fmt.Println(inData.Pictures[i])
 
- 		//上传图片
 
- 		timeUnixNano := time.Now().UnixNano() //单位纳秒
 
- 		fileName := fmt.Sprintf("%d.jpg", timeUnixNano)
 
- 		//七牛云上传图片
 
- 		bucket := "imgxx"
 
- 		key := "shanghuka/" + inData.UserCode + "/" + time.Now().Format(time.DateOnly) + "/" + fileName
 
- 		putPolicy := storage.PutPolicy{
 
- 			Scope: bucket,
 
- 		}
 
- 		mac := qbox.NewMac(confIni.MustValue("ly-qn", "access_key"), confIni.MustValue("ly-qn", "secret_key"))
 
- 		upToken := putPolicy.UploadToken(mac)
 
- 		cfg := storage.Config{}
 
- 		// 空间对应的机房
 
- 		cfg.Zone = &storage.ZoneHuanan
 
- 		// 是否使用https域名
 
- 		cfg.UseHTTPS = false
 
- 		// 上传是否使用CDN上传加速
 
- 		cfg.UseCdnDomains = false
 
- 		// 构建表单上传的对象
 
- 		baseUploader := storage.NewBase64Uploader(&cfg)
 
- 		ret := storage.PutRet{}
 
- 		//data, err := base64.RawStdEncoding.DecodeString(inData.Pictures[i])
 
- 		//if err != nil {
 
- 		//	app.Error(c, 500, err, "上传图片失败")
 
- 		//	return
 
- 		//}
 
- 		err = baseUploader.Put(context.Background(), &ret, upToken, key, []byte(inData.Picture[i]), nil)
 
- 		if err != nil {
 
- 			app.Error(c, 500, err, "上传图片失败")
 
- 			return
 
- 		}
 
- 		outData.Picture = append(outData.Picture, "http://lingyang.shisanmiao.com/"+key)
 
- 	}
 
- 	app.OK(c, outData, app.Success)
 
- }
 
 
  |