previewImage与腾讯COS防盗链的配置问题
发布于 5 年前 作者 zengwei 7408 次浏览 来自 问答

环境说明:

* 图片文件保存在腾讯云存储即腾讯COS,设置开启了静态网站功能和防盗链白名单

* 小程序基础库1.5.4/1.9.1

问题描述:小程序页面中使用 <img src=“http://静态网站域名/COS文件具体路径”> 的方式,该图像是可以显示在设备上的,此时对这个图像在设备上(Android/iOS)进行点击动作调用 wx.previewImage 实现在屏幕上预览则会失败,转圈,不会显示任何内容(无论第几次点击)。

根据上图结果分析,我开发人员推测,是否 previewImage 接口在请求图片地址时请求的主机并非 servicewechat.com而导致被防盗链功能屏蔽掉,因此无法显示。

需求:

* previewImage 接口和防盗链应该如何设置配合工作;

* previweImage 接口请求图像对象是否有什么限制,是否如我开发人员推测那样请求的主机已经不是 servicewechat.com,是否能告知,以便我方测试修改防盗链配置

5 回复

开发中遇到相同的问题,希望给出解决方案,都4个多月啦,鹅厂的效率不敢恭维了,是否可以弃坑研究支付宝和百度的小程序

同样问题.开发环境可见,手机上wx.previewImage不可见

图片是https的.并且域名已经设置到服务器域名,业务域名中

图片使用阿里云的oss保存的,私有图片,通过签名访问

  1. 查询日志后可以肯定楼主的猜想,wx.previewImage请求图片时Referer为“-”,即空。

  2. 我遇到的问题跟楼主遇到的基本一样。

  3. 已经四个月过去了,怎么还没有工作人员给出答复呢?

  4. 查询到去年也有人提出过类似的问题,防盗链设置中勾选“包括空Referer”,但是,这是阿里云OSS提供的功能,腾讯云COS暂不支持。当然,设置“包括空Referer”是不太安全的,希望能给出比较合理的解决措施。

同问,我也遇到相同问题,在iOS上,访问oss的图文文件没有问题,在Android,能看到图片,但是点击调用wx.previewImage时,一直转圈,不出图像,必须预先download下来,才能preview,请问官方何解?请问楼主搞定了没有?

回到顶部