小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如图,在真机调试中显示wx.cloud.uploadFile调用失败。预览时在手机上操作同样也失败了。但是在开发者工具中编译后可以调用成功,这是什么原因?
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
仔细看了报错信息
这个是上传的文件不存在报的错。你上传的那个文件真机上不存在哈!
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
wx.cloud.uploadFile({
cloudPath: cloudpathForTrans[i],
filePath: tempFilePathsForTrans[i],
success: res => { //调用成功后做的事情,需要一段时间才能success,但此时会继续执行下面的for循环
//存储fileID,之后用的到
uploadSuccessCnt++;
console.log("uploadSuccessCnt为:",uploadSuccessCnt)
console.log("转移到texts/成功",res.fileID);
that.setData({
fileid:res.fileID
})
//只有当前选中的所有文件上传到texts/成功后,才开始调用删除文件
if (uploadSuccessCnt === indexs.length){
//(2)文件移动完毕后,即可调用delete()方法,删除temps/目录下的文件,同时完成了云数据集的删除
console.log("(2)文件上传到texts/下成功,开始删除temps/下文件")
this.tureDelete();
}
},
fail: err => {
console.log(err)
现在问题已经解决了,因为文件是从电脑端上传的,在手机端操作,虽然传了tempFilePaths,但这个本地没有文件,故找不到tempFilePaths。因此我通过在onload里重新获取云存储文件并下载到本地,这样就可以获取有效的tempFilePaths了。中文的路径名确实没有问题,可以使用。
感谢各位大佬的指点!
云存储不支持中文文件名的
会不会是中文路径和中文文件名的原因,改用英文试试看
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
仔细看了报错信息
这个是上传的文件不存在报的错。你上传的那个文件真机上不存在哈!
wx.cloud.uploadFile({
cloudPath: cloudpathForTrans[i],
filePath: tempFilePathsForTrans[i],
success: res => { //调用成功后做的事情,需要一段时间才能success,但此时会继续执行下面的for循环
//存储fileID,之后用的到
uploadSuccessCnt++;
console.log("uploadSuccessCnt为:",uploadSuccessCnt)
console.log("转移到texts/成功",res.fileID);
that.setData({
fileid:res.fileID
})
//只有当前选中的所有文件上传到texts/成功后,才开始调用删除文件
if (uploadSuccessCnt === indexs.length){
//(2)文件移动完毕后,即可调用delete()方法,删除temps/目录下的文件,同时完成了云数据集的删除
console.log("(2)文件上传到texts/下成功,开始删除temps/下文件")
this.tureDelete();
}
},
fail: err => {
console.log(err)
},
})
}
这个是上传的文件不存在报的错。你上传的那个文件真机上不存在哈!
现在问题已经解决了,因为文件是从电脑端上传的,在手机端操作,虽然传了tempFilePaths,但这个本地没有文件,故找不到tempFilePaths。因此我通过在onload里重新获取云存储文件并下载到本地,这样就可以获取有效的tempFilePaths了。中文的路径名确实没有问题,可以使用。
感谢各位大佬的指点!
云存储不支持中文文件名的
会不会是中文路径和中文文件名的原因,改用英文试试看