在iOS 下是可以直接打开pdf 文件url 进行预览的。如果你的小程序是公司主体,会多出一个业务域名的设置选项。
设置好域名后,再使用web-view
打开对应的文件就可以了。
要注意文件路径中不能含有中文,否则会无法正确打开。
在安卓下使用web-view
来预览pdf 文件这个方法就行不通了,安卓系统会直接下载pdf 文件,非常尴尬。
这个时候就要使用微信小程序提供的文件下载和打开功能了。
wx.downloadFile({ url: id , success: function (res) { console.log(res) var Path = res.tempFilePath //返回的文件临时地址,用于后面打开本地预览所用 wx.openDocument({ filePath: Path, success: function (res) { console.log('打开成功'); } }) }, fail: function (res) { console.log(res); } })
这样就成功打开文档,这个方法在iOS 中也是可以正常使用的。不过这时候可以看到已经跳出了小程序,而无法使用小程序提供的功能菜单了。
比较好的方法是在iOS 中使用web-view
,在安卓中使用downloadFile
,这个时候就需要一个判定系统的方法。
微信小程序提供了wx.getSystemInfo
获取设备信息的接口,直接调用就可以了。
wx.getSystemInfo({ success: function (res) { that.setData({ systemInfo: res }); } })
systemInfo.platform
就是系统名称,然后再分别调用不同的方法预览文档即可。