收藏
回答

getImageInfo或downloadFile拿不到图片?

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug wx.getImageInfo、wx.dowanloadFile 微信iOS客户端 Android 6.6.7 2.2.2

我想把网络图片下载到本地,结果在模拟器上会报错:{errMsg: "getImageInfo:fail invalid"}。而华为荣耀V10和荣耀V9上,无论是getImageInfo还是downloadFile,虽然能拿到success信息,但是图片的宽度和高度都显示-1, 图片无法正常显示,导出到系统相册会发现图片大小为0B. 在苹果手机和三星的一个旧机型上是正常的。求解答。



最后一次编辑于  2018-08-14
回答关注问题邀请回答
收藏

1 个回答

  • 是小白啊
    是小白啊
    2018-08-13

    你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-08-13
    有用
    回复 4
    • 进击的蜗牛
      进击的蜗牛
      2018-08-14

      在getImageInfo之前有其他网络请求或getImageInfo嵌套在其他网络请求响应中时bug复现。

      wechatide://minicode/LpGa9EmJ7D1g

      2018-08-14
      回复
    • 是小白啊
      是小白啊
      2018-08-14回复进击的蜗牛

      你好, getImageInfo是获取图片的信息,如果你是需要将图片下载下来在保存,需要做的是先将图片使用 wx.downloadFile(OBJECT)下载下来,再使用 wx saveImageToPhotosAlbum这个api将图片保存下来



      2018-08-14
      回复
    • 进击的蜗牛
      进击的蜗牛
      2018-08-14回复是小白啊

      我试过downloadFile,也是存在同样的问题:单独使用,没问题,但是涉及到其他网络请求就不行。我的图片链接是要通过其他网络请求拿到,然后通过这个图片链接下载图片,结果在模拟器和华为手机上下载不了,试过苹果和三星的一款旧机型上可行。如果我知道图片链接,省去前面一步网络请求的话,图片可以拿到。我试过了对于图片来说getImageInfo和downloadFile效果都是一样的。

      2018-08-14
      回复
    • 进击的蜗牛
      进击的蜗牛
      2018-08-14回复是小白啊

      啊!终于知道原因了,图片是动态生成的,我拿到图片链接的时候,图片还没生成,这时候立即用这个图片链接下载图片的话,下载的图片是不完整的。之所以一直没发现这个问题,是因为下载下来的图片大小一直都是0,稍微大点应该也许就能发现了。非常感谢耐心指教!

      2018-08-14
      回复
登录 后发表内容