收藏
评论

为什么图片链接可正常访问但image组件加载不出来图片?官方

因为 image 控件的图片拉取本质上是依赖 wx.downloadFile 的,很多时候是由于图片不规范(content-type / length / 是否302跳转等 )导致拉取不成功,最终表现为加载不出图片。关于这一块我们在持续优化中

165912浏览
最后一次编辑于  2019-09-16
知识库内容非实时更新,可能已过期、失效或不适用于当前情形,请谨慎参考
收藏
反馈

44 个评论

  • 一碗热面
    一碗热面
    2020-02-26

    要是没有微信多好。太TM痛苦了,比病毒痛苦多了

    2020-02-26
    赞同 52
    回复 9
    • 三 爷
      三 爷
      2020-02-29
      垃圾写法 全是问题
      2020-02-29
      10
      回复
    • lanlan滴七月
      lanlan滴七月
      2020-05-18
      +1
      2020-05-18
      3
      回复
    • Wolf Pack
      Wolf Pack
      2020-07-14
      不能赞同更多了
      2020-07-14
      2
      回复
    • Moon
      Moon
      2020-07-15
      真的垃圾 全是问题 也不解决 吐了
      2020-07-15
      1
      回复
    • one piece
      one piece
      2020-09-13
      302问题不解决了吗,已经一年了!!
      2020-09-13
      4
      回复
    查看更多(4)
  • Wolf Pack
    Wolf Pack
    2020-07-14

    如果图片服务器设置了“referer”请求头白名单,来控制防止盗链,那么可以尝试一下流程:

    微信文档,明确指出“网络请求的 referer 格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid”(https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/development.html#%E5%85%B6%E4%BB%96%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9),而一般使用“referer”进行防盗链。

    而我们的图片服务器设置的referer白名单为“https://servicewechat.com/wxcabcdefgh123456/*”,但是微信小程序iOS版,在【刚刚启动小程序】时,image标签加载网络图片的请求,请求头“referer”却是“https://servicewechat.com/preload/page-frame.html”,不符合referer白名单规则,所以被拒绝,服务器返回的是403状态码,但是微信小程序错误日志却是404 Not Found(又是一个坑)。

    把我们的图片服务器,防盗链设置referer白名单为改为“https://servicewechat.com/*”则问题解决了,就是不要加“{appid}”这部分路径。






    2020-07-14
    赞同 9
    回复 3
    • LuckyGO
      LuckyGO
      03-17
      大佬NB
      03-17
      回复
    • 禁花语
      禁花语
      07-29
      大佬牛逼,我这边也是这个问题,真的很痛苦,但是不加appid感觉一点安全性都没有
      07-29
      回复
    • 脆骨
      脆骨
      11-18
      我小程序图片是上传到服务器,用PC跟小程序开发工具都可以加载出图片,但是就是在体验版本的时候,图片无法加载,如果设置了防盗链,是白名单以外的都加载不了图片吗
      11-18
      回复
  • 雷
    2019-09-23

    现在生产上频繁出现这种问题了。 在网络差的时候,图片会加载不出来,导致切换到正常网络后,图片会一直出不来,一般情况下,用image组件的binderror处理,重新赋值可以解决这种问题,但是,有的手机,比如 Iphone X, Iphone XR, 只会在执行当前页面的binderror方法,这种问题只能说在特定机型上无解了,希望官方尽快出解决方案,修复这个问题

    2019-09-23
    赞同 6
    回复 4
    • I  can
      I can
      2019-10-10
      我的大多数时候不能正常显示,偶尔能显示,数据可以在网页中显示图片,估计这个image组件兼容性有问题,有待改进,等待官方回复
      2019-10-10
      回复
    • lanlan滴七月
      lanlan滴七月
      2020-05-18
      请问用binderror重新赋值时,是用替代图片还是原图地址,我发现直接setData原图地址,由于前后两个src都一样,它就不再渲染了,导致原来显示啥样就还是啥样
      2020-05-18
      回复
    • 杰瑞
      杰瑞
      07-06回复lanlan滴七月
      可以使用图片url加时间戳参数的方式
      07-06
      回复
    • 白水
      白水
      09-10
      这个问题解决了么?
      09-10
      回复
  • 『Ten』
    『Ten』
    2020-03-05

    麻烦问一下 轮播和项目图片在开发工具上能显示 但是在手机预览调试上就没有显示但是图片位置的链接跳转还是能, 在手机预览时跳转后的titel 会发生错乱 首页的会显示跳转页的 跳转页的显示首页titel,在开发者工具上一切正常。是个嘛问题嗷?能知道一下么?

    2020-03-05
    赞同 3
    回复 2
    • AshinsLab
      AshinsLab
      2020-05-01
      我之前挂了梯子也会有这样的情况,关了梯子就好了,看看你是不是挂了梯子
      2020-05-01
      回复
    • YF
      YF
      05-01
      遇到同样的问题了 请问是咋解决了呢 本地和https图片路径都无法显示 但是bindload,binderror都正常
      05-01
      回复
  • 👀JH
    👀JH
    2020-01-06

    这个解决了吗?之前好好的,现在组件基本不显示,点击preview就可以显示。

    2020-01-06
    赞同 2
    回复
  • 轻度
    轻度
    2019-12-07

    官方的webp和lazy-load都加了,还是会出现图片加载失败后不再重新加载的问题,也就是图片有地址,但是显示不出来。

    2019-12-07
    赞同 2
    回复
  • 蒙脱石散
    蒙脱石散
    10-21

    可以看一下自己SSL证书有没有过期,导致https不能正常使用

    10-21
    赞同 1
    回复
  • 周元卿
    周元卿
    2020-09-16

    好像是我遇到的问题,302跳转有时候不显示,现在有解决办法吗?

    2020-09-16
    赞同 1
    回复
  • 香子
    香子
    2020-04-13

    为什么外网图片报错?

    2020-04-13
    赞同 1
    回复 5
    • Etolie Lin Elegans
      Etolie Lin Elegans
      2020-04-15
      第7行的src后面的=写成了<
      2020-04-15
      回复
    • 香子
      香子
      2020-04-15回复Etolie Lin Elegans
      这确实是错误,可人家报的是第三行错误,有点搞笑了
      2020-04-15
      3
      回复
    • 泡面
      泡面
      2020-08-11回复香子
      这种问题问的不丢人吗 纯属新手犯的错误
      2020-08-11
      回复
    • good
      good
      2020-10-29回复泡面
      问个问题而已,有啥丢人的,论语还有不耻下问
      2020-10-29
      5
      回复
    • ofns
      ofns
      06-28回复香子
      举个例子:当你发现你拉稀的时候,其实在你吃某种食物的那一刻就已经注定了
      06-28
      1
      回复
  • phoenixor
    phoenixor
    2020-03-07

    新的canvas 2D不支持本地临时地址吗?我想把图表页的图表保存到本地,然后在绘制海报时画上去,但是报错了:

    https://developers.weixin.qq.com/community/develop/doc/000686d617848851390ae892b5b000

    2020-03-07
    赞同 1
    回复 3
    • phoenixor
      phoenixor
      2020-03-07
      补充一下,我把小程序码放到云存储了,下载之后用drawImage还是画不出来,报错跟上面一样。微信连自家的云开发域名都屏蔽吗?
      2020-03-07
      回复
    • 哎呦喂
      哎呦喂
      2020-03-17回复phoenixor
      要后台配置一个安全下载域名
      2020-03-17
      回复
    • phoenixor
      phoenixor
      2020-03-17回复哎呦喂
      云开发的域名不用配置,这是开发工具的bug,重启就好了
      2020-03-17
      回复

正在加载...

登录 后发表内容