在小程序端调用 wx.cloud.uploadFile 没有任何结果。
用 iPhoneX 和 iPhoneSE 都不好使,success、fail、complete 均不执行(开发版、体验版),但是在开发工具和真机调试的时候可以正常运行。
wxml:
< button bindtap = "handleAwait" >await (iphone 上的 bug 在这里)</ button >
< view >上面两个按钮,都触发一个选择图片的事件,选好之后上传。</ view > < view >在开发者工具里是没有问题的。</ view > < view >但是在 iPhoneX 和 iphoneSe 上:</ view > < view >await 按钮上传文件完全没任何反应,success、fail、complete 都不被调用</ view > < view >但是,iphone 使用真机调试时,又没有任何问题了</ view > |
js:
Page({ async handleAwait() { let uploaded = await getPhoto(); let path = uploaded.tempFilePaths[0]; let result = await uploadFile(path); wx.showToast({ title: result.errMsg }) }, handlePromise() { getPhoto().then(async uploaded => { let path = uploaded.tempFilePaths[0]; let result = await uploadFile(path); wx.showToast({ title: result.errMsg }) }) } }) function getPhoto() { return new Promise(success => { wx.chooseImage({ success }) }) } function uploadFile(filePath) { return new Promise(success => { wx.cloud.uploadFile({ cloudPath: '1.jpg' , filePath, success }) }) } |
目前只有用 promise 的代替方案,希望官方团队能尽快解决,给出反馈。
即使解决不了,也希望尽快给出原因,让其他开发者有效地避开这个问题,或者说为什么这里用 promise 就可以,或者为什么只有在 iPhone 上不可以。
fail, 也传一下,看看错误信息呢
谢邀,抱歉 暂时无法帮助您
先在这两款机型上,调试异步的wx.cloud.uploadFile,不要用到任何promise或者async
谢邀,你说的这个问题还没遇到过😂,不知道怎么帮你,抱歉