复制需要打开得链接,到安卓浏览器打开会发现浏览器跳出下载框而不会预览该文件。
使用uni.getSystemInfo获取用户系统,ios正常使用webview浏览,安卓使用uni.openDocument
let fileType= this.getFileType(item.resourceUrl)
uni.getSystemInfo({
success: res => {
if (res.platform === 'android') {
console.log('安卓用户');
uni.downloadFile({
url: this.$qimg(item.resourceUrl),
filePath: wx.env.USER_DATA_PATH + '/' + item.name+fileType, //自定义文件名称
success: function(res) {
const filePath = res.tempFilePath;
uni.openDocument({
filePath: res.filePath,
success: function(res) {
uni.hideLoading()
console.log('打开文档成功');
}
});
}
});
} else {
uni.navigateTo({
url: `/pages/goods/detail/pdfPreview?pdfSrc=${item.resourceUrl}&name=${item.name}`
})
}
}
});
使用uni.openDocument打开文件,名称会是文件保存临时路径名称,所以我根据链接截取文件后缀名并自定义文件名称
getFileType(text){
let arr=text+''
let index=arr.lastIndexOf('.')
return arr.substr(index)+''
},