微信小程序提供了图片预览API,通过图片预览API可以预览图片,且在预览过程中用户可以进行保存图片、发送给朋友等操作。通过调用 wx.previewImage()方法即可使用图片预览API,该方法的常用选项如下表所示。
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
urls | Array.<string> | 是 | 需要预览的图片链接列表 2.2.3 起支持云文件ID urls选项支持http或者https协议的网络图片地址,如果使用本地图片进行预览,会出现黑屏加载不出图片的情况。 | |
showmenu | boolean | true | 否 | 是否显示长按菜单 |
current | string | urls的第一张 | 否 | 当前显示图片的链接 |
referrerPolicy | string | no-referrer | 否 | origin:发送完整的referrer no-referrer:不发送 格式固定为https://servicewechat.com/{appid}/{version}/page-frame.html,其中{appid}为小程序的appid,{version}为小程序的版本号,版本号为0表示为开发版、体验版以及审核版本,版本号为devtools表示为开发者工具,其余为正式版本; |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
注意 wx.previewImage 的用法,它接收一个object对象,对象的urls数组定义了一组需要预览的图片url;而current定义了当前展示的图片url。
wx.previewImage 在当前130400版本中有以下几个情况会造成无法预览图片:
注意,在目前的130400版本中,本地文件既无法在模拟器中预览,也无法在真机中预览;临时地址文件无法在模拟器中预览,却可以在真机中预览。130400版本的下一个版本已经放出了beta测试版,官方文档在版本说明中指出有可能会修复wx.previewImage不支持localId的问题。经下载测试版测试,开发工具中可以预览来自临时文件地址的图片,但依然不可以预览本地图片。