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;第二个可以正常显示
下面是两张截图,表示第一个链接在企业微信中的显示情况:
在企业微信和微信中验证时都不能正常访问,建议开发者在第一张图访问时不进行重定向操作,而是直接返回图片的流数据。
关于你说不能访问的问题,第一个链接确定是可以访问的(你可以试一下在浏览器中打开)。第二个链接(重定向的链接)因为有时效性,确实目前不可访问了;不过你在浏览器中访问第一个链接,从而得到重定向之后的链接,也就是第二个链接了。
关于重定向,因为用的是七牛云,所以你说的直接返回图片的数据流是比较难做的(考虑到只为小程序去做这个的性价比)
我比较困惑的是,为什么对于同样有重定向的图片:
企业微信中,在外部的 <image src='...'> 标签里都可以访问,wx.previewImage() 却访问失败
同样的图片,在个人版微信中可以 wx.previewImage() 成功,在企业微信中却不可以
这个问题是我的个例,还是有重定向的图片普遍都有的
以上~
贴个图,求回复~
这里由于发起请求是客户端的header中的字段为 header: Accept = "image/*;q=0.8";(出于安全原因),开发者的服务器并不支持此header,所以返回了406,开发者这边建议先进行适配。
了解,谢谢了。
不过,既然只有一个 Accept「image/*」,为何还要设置 q 呢
我这边测试也是,图片地址直接是文件流,测试了好多小图片,都无法加载,比如