## 准备工作
注册七牛云账号,添加存储桶
后端 Golang 生成 上传凭证 token
```
var (
accessKey = "七牛"
secretKey = "七牛"
bucket = "桶名"
)
// GetQiniuToken 客户端上传获取上传凭证
func GetQiniuToken(c *gin.Context) {
mac := credentials.NewCredentials(accessKey, secretKey)
putPolicy, err := uptoken.NewPutPolicy(bucket, time.Now().Add(1*time.Hour))
putPolicy.SetReturnBody(`{"key":"$(key)","hash":"$(etag)"}`)
if err != nil {
return
}
upToken, err := uptoken.NewSigner(putPolicy, mac).GetUpToken(context.Background())
fmt.Println(upToken)
var token = map[string]string{
"token": upToken,
}
return token
}
```
小程序
```
const uploadTask = wx.uploadFile({
url: '七牛云所在区域', //仅为示例,非真实的接口地址
filePath: "文件路径",
name: 'file',
formData: {
'token':'七牛token',
},
success: res => console.log("---- 上传成功 -----", res),
fail: err => console.log("---- 上传失败 ----", err)
})
uploadTask.onProgressUpdate((res) => {
console.log("----- 上传进度 -----", res.progress);
if(res.progress < 100){
wx.showLoading({
title: `上传中 ${res.progress}%`,
});
} else if (res.progress == 100){
// 进度达到100时显示结果
wx.showToast({
title: '完成',
icon: 'success'
});
}
})
```