这周在做一个有关拼车的小程序的时候有一个地方挺坑的,就是wx.uploadFile()这个微信API,以前做一个防伪的小程序的时候也使用过也掉紧了这个坑,还是我太年轻了,不长记性,这次特意写一条帖子来让自己长点记性;
先上官方文档的用法示例:(具体的参数可查官方文档)
这里简单的说一下一些参数:
wx.chooseImage(){
success(res){
console.log(res.tempFilePaths);//图片的本地临时文件路径列表 (本地路径)
console.log(res.tempFiles);//图片的本地临时文件列表
}
}
wx.uploadFile(){
url: '', //接口地址
filePath: tempFilePaths[0],//要上传文件资源的路径 (本地路径)
name: '',//文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容
formData: {//请求中额外的其他form-data
'user': 'test'
},
}
这里那个wx.uploadeFile()中的name是一个key值;下图为后端接口需要接收一个form-data:{‘image’:{文件}}的数据;所以那个name里面应该写一个‘image’。
下面是代码总结:
chooseImage() {
wx.chooseImage({
sizeType:['original', 'compressed'],// 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
let file = res.tempFilePaths[0]
wx.uploadFile({
url: '/common/upload/image',
name: 'image',//根据后端接口开发文档的要求填写
filePath: file,
success: function(result){
console.log(result);
},
fail: function(){
return
}
})
}
})
},
总结:
多看官方文档,遵循高三老师做题方法:先审题后作答!!