收藏
回答

为什么用微信开发者工具模拟器可以保存图片到本地,而在手机上的小程序不能呢?

代码如下:

  wx.downloadFile({
      url: processedImagePath,
      success: res => {
        wx.saveImageToPhotosAlbum({
          filePath: res.tempFilePath,
          success() {
            wx.showToast({ title: '保存成功' });
          }
        });
      }
    });


但是如果将下载地址直接写成https的网络地址,则在手机上是可以下载的:(难道上传的图片必须存储到服务器上然后通过https地址才能下载吗?上传后直接将临时文件下载不可以吗?)

最后一次编辑于  01-21
回答关注问题邀请回答
收藏

9 个回答

  • 社区技术运营专员--Demons
    社区技术运营专员--Demons
    01-14

    你的报错显示什么

    01-14
    有用
    回复 2
  • 一笑皆春
    一笑皆春
    01-14

    主要有两个地方需要排查,一是需要完善用户隐私协议,添加上访问相册(仅写入)的权限,二是保存图片涉及下载,需要在后台添加download合法域名

    01-14
    有用 1
    回复 7
    • 空^_^杯
      空^_^杯
      01-15
      如果不用从服务端下载图片,直接从小程序本地下载图片,是不是不用设置download域名?
      01-15
      回复
    • 一笑皆春
      一笑皆春
      01-15回复空^_^杯
      是的,下载本地路径的图片可以直接保存
      01-15
      回复
    • 历代星辰监护人
      历代星辰监护人
      01-15回复一笑皆春
      手机微信先扫码开发版,打开调试,再打开正式版,正式版也有调试了,这个时候你去上传图片看下报错,如果开启调试可以了,那就是没有配置downloadFIle域名。因为开启调试后 会忽略域名检测
      01-15
      回复
    • 空^_^杯
      空^_^杯
      01-21
      开启调试后,也不能保存图片,报错是:errno:600005, "errMsg: downloadFile:fail url scheme is invalid"。  这个是和保存的图片是本地图片而不是https开头的互联网图片相关吗?
      01-21
      回复
    • 一笑皆春
      一笑皆春
      01-21回复空^_^杯
      是的感觉像是这样的,保存图片需要配置图片的下载域名为downloadUrl
      01-21
      回复
    查看更多(2)
  • 空^_^杯
    空^_^杯
    01-16
    微信开发者工具中用真机调试模式调试:调用wx.downloadFilesh时报错{errno: 600005, errMsg: "downloadFile:fail url scheme is invalid"}
    打日志看,当前的图片url是 wxfile://tmp_fa46253881e3b272db0f923307ebea93.jpg。
    用来下载的图片的url scheme是有什么要求呢?
    


    01-16
    有用
    回复
  • 历代星辰监护人
    历代星辰监护人
    01-14

    你打印下fail看下errMsg是什么就知道哇。

    01-14
    有用
    回复 3
    • 空^_^杯
      空^_^杯
      01-15
      是在手机端微信小程序无法上传图片,这个怎么看日志呢
      01-15
      回复
    • 空^_^杯
      空^_^杯
      01-21
      微信开发者工具中用真机调试模式调试:调用wx.downloadFilesh时报错{errno: 600005, errMsg: "downloadFile:fail url scheme is invalid"}
      打日志看,当前的图片url是 wxfile://tmp_fa46253881e3b272db0f923307ebea93.jpg。
      用来下载的图片的url scheme是有什么要求呢?
      01-21
      回复
    • 历代星辰监护人
      历代星辰监护人
      01-21回复空^_^杯
      应该是需要下载https的图片,下载后返回给你wxfile://的本地文件。
      01-21
      回复
  • dreamhunter
    dreamhunter
    01-14

    1.配置下载域名

    2.添加隐私协议

    3.打印两个api异常,确认问题

      fail(err) {
        console.error('xx失败', err);
      }
    
    01-14
    有用
    回复 5
    • 空^_^杯
      空^_^杯
      01-15
      没域名可以吗? 因为不涉及到后端服务,而是先上传一张图片到微信小程序(本地),然后再将这张图片下载,所以没有域名。
      01-15
      回复
    • dreamhunter
      dreamhunter
      01-15回复空^_^杯
      自己传再只能自己保存有什么意义
      01-15
      回复
    • 空^_^杯
      空^_^杯
      01-16回复dreamhunter
      是想读取相册中的图片后进行图片修改,然后再保存到相册中
      01-16
      回复
    • 空^_^杯
      空^_^杯
      01-21
      微信开发者工具中用真机调试模式调试:调用wx.downloadFilesh时报错{errno: 600005, errMsg: "downloadFile:fail url scheme is invalid"}
      打日志看,当前的图片url是 wxfile://tmp_fa46253881e3b272db0f923307ebea93.jpg。
      用来下载的图片的url scheme是有什么要求呢?
      01-21
      回复
    • dreamhunter
      dreamhunter
      01-21回复空^_^杯
      你可以直接编辑wxfile://tmp_fa46253881e3b272db0f923307ebea93.jpg这个路径试试,这个看着像是本地文件
      01-21
      回复
  • 星辰
    星辰
    01-14

    后台开发管理-域名设置下;看是否给予小程序保存图片到手机的权限

    01-14
    有用
    回复 2
    • 空^_^杯
      空^_^杯
      01-15
      "小程序保存图片到手机的权限" 这个是在哪里设置呢?
      01-15
      回复
    • 星辰
      星辰
      01-16回复空^_^杯
      在保存的时候一会自动弹窗提醒的 如果拒绝需要再右上角三个点-设置打开
      01-16
      回复
  • showms
    showms
    01-14

    可能是没有配下载域名

    01-14
    有用
    回复
  • 小黎
    小黎
    发表于移动端
    01-14
    配置合法域名了么,添加隐私协议了么
    01-14
    有用
    回复
  • 智能回答 智能回答 该问答由AI生成
    01-14
    有用
登录 后发表内容