环境说明:
* 图片文件保存在腾讯云存储即腾讯COS,设置开启了静态网站功能和防盗链白名单
* 小程序基础库1.5.4/1.9.1
问题描述:小程序页面中使用 <img src=“http://静态网站域名/COS文件具体路径”> 的方式,该图像是可以显示在设备上的,此时对这个图像在设备上(Android/iOS)进行点击动作调用 wx.previewImage 实现在屏幕上预览则会失败,转圈,不会显示任何内容(无论第几次点击)。
根据上图结果分析,我开发人员推测,是否 previewImage 接口在请求图片地址时请求的主机并非 servicewechat.com而导致被防盗链功能屏蔽掉,因此无法显示。
需求:
* previewImage 接口和防盗链应该如何设置配合工作;
* previweImage 接口请求图像对象是否有什么限制,是否如我开发人员推测那样请求的主机已经不是 servicewechat.com,是否能告知,以便我方测试修改防盗链配置
查询日志后可以肯定楼主的猜想,wx.previewImage请求图片时Referer为“-”,即空。
我遇到的问题跟楼主遇到的基本一样。
已经四个月过去了,怎么还没有工作人员给出答复呢?
查询到去年也有人提出过类似的问题,防盗链设置中勾选“包括空Referer”,但是,这是阿里云OSS提供的功能,腾讯云COS暂不支持。当然,设置“包括空Referer”是不太安全的,希望能给出比较合理的解决措施。