收藏
回答

企业微信 wx.previewImage() 图片预览无法显示

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.previewImage() 客户端 企业微信版本号 2.6.2(9736) 2.2.5
var imageUrls = [
  "https://codingcorp.coding.net/api/project/616/files/110036/imagePreview?preview_token=060246f9-af85-4bde-b549-e17656b37079",
  "https://dn-coding-net-production-file.codehub.cn/13a1b960-28ce-11e8-a7ba-ab4b2823f13e.jpeg?e=1542082883&token=goE9CtaiT5YaIP6ZQ1nAafd_C1Z_H2gVP8AwuC-5:QZ7yD6yivsHBHgA2LMx5g4BE-xE="
];


如上,imageUrls 里面有两个链接,表示的其实是同一个图像(第一个链接会重定向到第二个链接)


在个人版的微信中,两个链接都是可以正常显示的


在企业微信中,第一个会显示【加载图片失败】,然而却会进入回调函数 success,而不是 fail;第二个可以正常显示


下面是两张截图,表示第一个链接在企业微信中的显示情况:



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

2 个回答

  • 大猫
    大猫
    2018-11-13

    在企业微信和微信中验证时都不能正常访问,建议开发者在第一张图访问时不进行重定向操作,而是直接返回图片的流数据。

    2018-11-13
    有用
    回复 5
    • 王哼哼
      王哼哼
      2018-11-14

      关于你说不能访问的问题,第一个链接确定是可以访问的(你可以试一下在浏览器中打开)。第二个链接(重定向的链接)因为有时效性,确实目前不可访问了;不过你在浏览器中访问第一个链接,从而得到重定向之后的链接,也就是第二个链接了。


      关于重定向,因为用的是七牛云,所以你说的直接返回图片的数据流是比较难做的(考虑到只为小程序去做这个的性价比)


      我比较困惑的是,为什么对于同样有重定向的图片

      1. 企业微信中,在外部的 <image src='...'> 标签里都可以访问,wx.previewImage() 却访问失败

      2. 同样的图片,在个人版微信中可以 wx.previewImage() 成功,在企业微信中却不可以

      3. 这个问题是我的个例,还是有重定向的图片普遍都有的

      以上~


      2018-11-14
      回复
    • 王哼哼
      王哼哼
      2018-11-14

      贴个图,求回复~



      2018-11-14
      回复
    • 大猫
      大猫
      2018-11-14

      这里由于发起请求是客户端的header中的字段为 header: Accept = "image/*;q=0.8";(出于安全原因),开发者的服务器并不支持此header,所以返回了406,开发者这边建议先进行适配。


      2018-11-14
      回复
    • 王哼哼
      王哼哼
      2018-11-26回复大猫

      了解,谢谢了。


      不过,既然只有一个 Accept「image/*」,为何还要设置 q 呢

      2018-11-26
      回复
    • guoyijie
      guoyijie
      2021-02-23回复大猫
      求回复 需求需要在企微侧边栏预览大图 调用了api之后手机端可以正常预览 单pc端没有反应 没有报错信息
      2021-02-23
      回复
  • 十点半睡觉,
    十点半睡觉,
    04-12

    我这边测试也是,图片地址直接是文件流,测试了好多小图片,都无法加载,比如

    04-12
    有用
    回复 1
登录 后发表内容