| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | package shanghuimport (	"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)}
 |