出现问题的小程序 appid:wxdf7c98eac5c7565d
出问题的api组件:wx.cloud.uploadFile
问题描述:
今天白天客户反馈,无法上传图片。之前是正常可以上传的。
经过定位后发现,真机调试可以正常上传,体验版可以正常上传,线上版本wx.cloud.uploadFile返回error。
奇怪的是我用的云开发,应该是不需要配置域名的。
我在社区搜索,发现一个可能的原因,需要去除 app.json / game.json 中的字段 "cloud": true。
(云开发能力从基础库 2.2.3 开始支持,现在 2.2.3 或以上的基础库已覆盖绝大部分用户(目前约 99.6% ),不应继续使用旧的兼容性处理方式。如采用了旧的兼容性处理方式,请去除 app.json / game.json 中的字段 "cloud": true。
https://developers.weixin.qq.com/minigame/dev/wxcloud/reference/compatibility.html)
不过我想,体验版(未去除"cloud": true的代码)都可以上传,线上版却不能上传,所以去掉这个 "cloud": true 应该并不一定能解决问题。
而且我的代码较长时间未更新,如果更新小程序的代码重新上传,改动成本太大了。
希望官方大大帮忙查一下问题,如需要更多信息,可以随时联系,谢谢
报错信息:
uploadFile fail error =
Error: errCode: -1 | errMsg: cloud.uploadFile:fail uploadFile:fail url not in domain list; at cloud.uploadFile api;
at new t (https://usr/app-service.js:2:73632)
at u (https://usr/app-service.js:2:74346)
at Object.t.returnAsFinalCloudSDKError (https://usr/app-service.js:2:74527)
at https://usr/app-service.js:2:71483
at https://usr/app-service.js:2:4324
at Object.throw (https://usr/app-service.js:2:4429)
at o (https://usr/app-service.js:2:3251)
报错的代码如下:
// 其中出问题的一个case 变量值 为
// activityImage = wxfile://tmp_c970475003226eb9ef421eb99f**********d575f63c0c4.jpg
// cloudPath = activityImage/2023-3-17/2b32483**********72afa10a7a0b0.jpg
wx.cloud.uploadFile({
cloudPath: cloudPath,
filePath: activityImage, // 文件路径
}).then(res => {
//
}).catch(error => {
// 上传图片失败
console.log(TAG, 'uploadFile fail error = ', error);
toastUtil.showToast('发布失败,上传图片失败,请稍候再试');
})