准备
图片上传到七牛云,需要两个准备条件:
- 在七牛云上有上传空间,可获取相应的token(这里是后台接口完成的,前端也可以完成,需要自己申请上报空间);
- 在小程序相应的域名配置中把七牛云的域名配置上去(一开始用错了,根据请求返回修改好了,小程序的域名配置一个月只能改五次);
图片上传
小程序上传图片只有两个关键API:
wx.chooseImage
wx.uploadFile
在wx.chooseImage调用成功时,可以获取到关于图片的文件信息,再上传七牛云
/**
* 图片改变事件
*/
bindImgChange() {
wx.chooseImage({
count: 1, // 最多可以选择的图片张数
success: res => {
//上传七牛云
let tempFilePaths = res.tempFilePaths;
this.uploadQiniu(tempFilePaths);
}
});
},
上传七牛云代码:
/**
* 图片上传七牛云
*/
uploadQiniu(tempFilePaths) {
let token = this.data.token;
var that = this;
wx.uploadFile({
url: 'https://upload-z2.qiniup.com',
name: 'file',
filePath: tempFilePaths[0],
header: {
"Content-Type": "multipart/form-data"
},
formData: {
token: token,
},
success: function(res) {
let data = JSON.parse(res.data)
console.log('qiniu');
console.log(res);
// to do ...
},
fail: function(res) {
console.log(res)
}
});
},
失败详情
修改url为:'https://upload-z0.qiniup.com'
成功