1.实现思路:
这里咱们直接用的uniapp官方提供的uni.downloadFile方法调用手机第三方能打开文件的工具,比如wps等(ps:这里实现的是APP文件预览)。
2. 直接上代码(可直接复制)
//文件预览
prefile(e){
let that = this
let url = that.$config.fileUrl+e;
uni.downloadFile({
url: url,
su***ess: function (res) {
let filepathss=plus.io.convertLocalFileSystemURL(res.tempFilePath);
setTimeout(
() =>
uni.openDocument({
filePath: filepathss,
showMenu: false,
su***ess: function () {
console.log("打开文档成功");
},
fail: function () {
uni.showToast({
title: '暂不支持此类型',
duration: 2000,
icon: "none",
});
}
}),
1000
);
},
fail: function (res) {
console.log(res); //失败
}
});
}
3.注意事项
1.文件路径(url)必须是浏览器能直接访问的文件。比如:http://xx.***.***/images/abc.xlsx 这种格式。 最开始我是用的后台给的接口 file/dowload?fileId=112334 这种形式的路径,调用 uni.openDocument 是失败的,原因可能是无法识别文件类型。
2.注意代码中
let filepathss=plus.io.convertLocalFileSystemURL(res.tempFilePath);
这行代码是获取文件在手机中的绝对路径。
例如: