html52.com
我爱小程序-开发者交流社区

previewImage与腾讯COS防盗链的配置问题

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 previewImage 客户端 android 6.6.5/ios 6.6.1 1.5.4/1.9.1

环境说明:

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

* 小程序基础库1.5.4/1.9.1


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

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


需求:

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

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


网友回复

王硕-闹海科技:

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

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

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


试试手气:

顶一次

陈同心:

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

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

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

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

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

你剑哥:

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

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付