uplaodFile(files) {
console.log('upload files', files)
// 输出:http://tmp/wxe55bb43fb6942e76.o6zAJsx7-gL4WVb1IVmk63AAuigQ.T6kxVihnHV4Lf1f87b20cea9b346d1846a7c6c58ee6d.png
console.log(files.tempFilePaths[0]);
// 文件上传的函数,返回一个promise
return new Promise((resolve, reject) => {
wx.uploadFile({
url: 'https://xx.com/upload/aliyun',
filePath: files.tempFilePaths[0],
name: 'file',
formData: {
test: 1
},
success(res) {
resolve(res.data);
},
fail(err) {
console.log('上传失败', err);
reject('上传失败')
}
})
})
},
url 我不太敢填公司真实的在这里,但总之调用上面的代码返回的 err.detail.errMsg 是upload file fail, urls not found,并且控制台看见发出去的这条请求的 request header 压根不对。
已知我已经在微信公众平台小程序管理里服务器域名-uploadFile 域名我都写上了这个url的域名,但是没有帮助,还是这样。
Provisional headers are shown
Referer: https://servicewechat.com/wxe55bb43fb6942e76/devtools/page-frame.html
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 wechatdevtools/1.02.2004020 MicroMessenger/7.0.4 Language/zh_CN webview/
看文档说明,“图片上传的函数,返回Promise,Promise的callback里面必须resolve({urls})表示成功,否则表示失败”,真的搞不懂所谓的“{urls}”是什么鬼。写文档的人员实在是想当然,完全不考虑别人看不看得懂。
我也遇到这个问题,怎么解决的?
我这边也这样,请问楼主解决了吗
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)