1、预览doc, xls, ppt, pdf, docx, xlsx, pptx
//在线地址
if (item.url.indexOf('https') > 0) {
wx.downloadFile({
url: item.url,
filePath: `${wx.env.USER_DATA_PATH}/${item.fileName}`, // 需要预览文件的名称
success: function(res) {
wx.hideLoading()
const filePath = res.filePath;
wx.showLoading({
title: '正在打开',
mask: true
})
wx.openDocument({
filePath: filePath,
fileType,
showMenu: false, //右上角是否有可以转发分享的功能
success: function(res) {
uni.hideLoading()
},
fail: function(err) {
uni.hideLoading()
}
});
},
fail: function(err) {
wx.hideLoading()
}
});
} else {
//本地缓存--打开可以显示文件名字非乱码
let fs = uni.getFileSystemManager();
console.log('wxfile://${item.fileName}====',item.url,`wxfile://${item.fileName}`)
try {
let result = fs.saveFileSync(
item.url,
`${wx.env.USER_DATA_PATH}/${item.fileName}`
);
console.log('result',result)
uni.openDocument({
filePath: `${wx.env.USER_DATA_PATH}/${item.fileName}`,
showMenu: false, //右上角是否有可以转发分享的功能
success: function(res) {
console.log('打开文档成功');
},
})
}
catch (err) {
console.log('saveFileSync fail', err);
}
}
2、预览txt文件
if(fileType==='txt'){
wx.navigateTo({
url: `/packageBeforeClass/pages/txtView/txtView?fileName=${fileName}&fileType=${fileType}&url=${url}`,
}); //如果是txt文件,跳转到txtTextView 页
// txtTextView 页
//显示txt
getTxt(detail) {
let fs = uni.getFileSystemManager();
const that = this;
//线上地址
if(detail.url.indexOf('https')>0){
uni.downloadFile({
url: detail.url,
filePath: `${wx.env.USER_DATA_PATH}/${detail.fileName}`,
success: function() {
uni.hideLoading();
fs.readFile({
filePath: `${wx.env.USER_DATA_PATH}/${detail.fileName}`,
encoding: 'utf8',
complete(res) {
console.log(res)
that.txtTextView=res.data //在wxml做展示
}
})
},
fail: function(error) {
uni.hideLoading();
uni.showToast({
title: error.errMsg,
icon: "none"
});
}
});
}else{
//未上传到服务器的缓存文件
fs.readFile({
filePath: `${wx.env.USER_DATA_PATH}/${detail.fileName}`,
encoding: 'utf8',
complete(res) {
console.log(res)
that.txtTextView=res.data //在wxml做展示
}
})
}
},