赞
踩
这一章节中我们介绍如何把图片上传到七牛云,并且返回对应图片的 url 。因为后续我们的创建的商品,更换头像等等都是把我们的图片上传七牛云存储,再返回对应的url的。
这里选择公用!!不是私有,选择错了!
然后我们进入到这个页面,你可以选择绑定域名,也可以选择不绑定。如果不绑定七牛会送你一个体验的域名,好像是7天时效。
绑定域名就可以了
将你的域名绑定上就可以了。
如果没有域名的话,这里就有一个七牛送的域名
这样就行了
AccessKey=是上面AK
SercetKey=是上面的SK
Bucket=是刚刚新创的名称!
QiniuServer=是绑定的域名
加载配置
func LoadQiniu(file *ini.File) {
AccessKey = file.Section("qiniu").Key("AccessKey").String()
SerectKey = file.Section("qiniu").Key("SerectKey").String()
Bucket = file.Section("qiniu").Key("Bucket").String()
QiniuServer = file.Section("qiniu").Key("QiniuServer").String()
}
在pkg包下的utils下创建upload.go
文件
var AccessKey = conf.AccessKey
var SerectKey = conf.SerectKey
var Bucket = conf.Bucket
var ImgUrl = conf.QiniuServer
putPlicy := storage.PutPolicy{
Scope:Bucket,
}
mac := qbox.NewMac(AccessKey,SerectKey) upToken := putPlicy.UploadToken(mac) cfg := storage.Config{ Zone : &storage.ZoneHuanan, UseCdnDomains : false, UseHTTPS : false, } putExtra := storage.PutExtra{} formUploader := storage.NewFormUploader(&cfg) ret := storage.PutRet{} err := formUploader.PutWithoutKey(context.Background(),&ret,upToken,file,fileSize,&putExtra) if err != nil { code := e.ErrorUploadFile return code , err.Error() } url := ImgUrl + ret.Key return 200,url
传入文件,以及文件大小,返回的是url和状态
package util import ( "context" "github.com/qiniu/go-sdk/v7/auth/qbox" "github.com/qiniu/go-sdk/v7/storage" "mall/conf" "mall/pkg/e" "mime/multipart" ) // 封装上传图片到七牛云然后返回状态和图片的url func UploadToQiNiu(file multipart.File ,fileSize int64) (int,string) { var AccessKey = conf.AccessKey var SerectKey = conf.SerectKey var Bucket = conf.Bucket var ImgUrl = conf.QiniuServer putPlicy := storage.PutPolicy{ Scope:Bucket, } mac := qbox.NewMac(AccessKey,SerectKey) upToken := putPlicy.UploadToken(mac) cfg := storage.Config{ Zone : &storage.ZoneHuanan, UseCdnDomains : false, UseHTTPS : false, } putExtra := storage.PutExtra{} formUploader := storage.NewFormUploader(&cfg) ret := storage.PutRet{} err := formUploader.PutWithoutKey(context.Background(),&ret,upToken,file,fileSize,&putExtra) if err != nil { code := e.ErrorUploadFile return code , err.Error() } url := ImgUrl + ret.Key return 200,url }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。