一、方法概述
开始用uniapp提供微信自带方法:wx.downloadFile({ }) + wx.openDocument({ }),但发现android正常打开,IOS打不开的情况
换种方式使用: web-view,uni-app 中web-view做链接跳转,但是出现IOS可以正常打开,android打不开的情况。
综上:安卓手机用原生,ios手机用web-view
二、方法的使用
1、android正常打开,IOS不生效
//这里的 url 就是pdf文件的路径,直接调用此方法就可以打开pdf文件
//url:'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf'
androidOpenPdf(url) {
uni.downloadFile({
url: url,
success: function (res) {
var filePath = res.tempFilePath;
uni.openDocument({
filePath: filePath,
success: function (res) {
console.log("打开文档成功");
},
});
},
});
}
2、ios可以正常跳转,Android是不生效的
<web-view :src="webUrl"></web-view>
data() {
return {
webUrl:'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-7da443bc-353a-4224-ab27-b98917aa6c66/89d1d612-734a-4219-9110-0b21fb004d5f.pdf';
}
}
结合上述两种方法为
openPDF() {
switch (uni.getSystemInfoSync().platform) {
case "android":
console.log("安卓");
// 这里直接调用原生的方法,我们上面定义的
this.androidOpenPdf(this.contractUrl);
break;
case "ios":
console.log("IOS");
//这里跳转web-view页面
uni.navigateTo({
url: "./webView/webView?contractUrl=" + this.contractUrl,
});
break;
default:
this.androidOpenPdf(this.contractUrl);
break;
}
}