微信小程序向七牛云上传图片要点

提前在小程序的设置页面设置如下:


微信小程序向七牛云上传图片要点
 

前端是这样子:

wx.request({
url: getuploadtokenUrlOnYourWebSite,
success:function(res){
let upToken = res.data.upToken
wx.uploadFile({
url: 'https://upload-z1.qiniup.com',
name: 'file',
filePath: that.data.imgpath//该值之前用wx.chooseImage的返回结果赋予,
header: {
"Content-Type": "multipart/form-data"
},
formData: {
token: upToken,
},
success: function (res) {
console.log(res.data)
let data = JSON.parse(res.data)
that.setData({
imgqiniukey: data.key
})
 
},
fail: function (res) {
console.log(res)
}
})
},
})
上面的getuploadtokenUrlOnYourWebSite是一个你的网站后台专门为七牛云定制的一个api接口url,这里给出一个golang的后端实现:
import (
    "github.com/qiniu/api.v7/auth/qbox"
    "github.com/qiniu/api.v7/storage"
    "github.com/gin-gonic/gin"
)
func GetUploadToken(c *gin.Context){
var ak = "你在七牛云控制台个人中心里的密钥管理里的Access Key"
var sk = "你在七牛云控制台个人中心里的密钥管理里的Secret Key"
    putPolicy:=storage.PutPolicy{
        Scope: "你在七牛云建立的对象存储bucket名字",
        Expires: 7200,
    }
    mac:=qbox.NewMac(ak,sk)
    upToken := putPolicy.UploadToken(mac)
    
    c.JSON(http.StatusOK,gin.H{
        "upToken": upToken,
    })
}
还有一个注意点是第一个图中以及“url: 'https://upload-z1.qiniup.com',”,这个地址是七牛云在华北地区的客户端上传中心,
如果你的对象存储不在这个地区,
需要从https://developer.qiniu.com/kodo/manual/1671/region-endpoint中选择合理的url

相关推荐