收藏
回答

如何解决wx.cloud.uploadFile报错url not in domain list?

出现问题的小程序 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": truehttps://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('发布失败,上传图片失败,请稍候再试');
    })




最后一次编辑于  2023-03-17
回答关注问题邀请回答
收藏
登录 后发表内容