一、实现的功能:
1、word、excel、图片等实现下载并预览
2、打开文件后显示文件名称文章来源:https://www.toymoban.com/news/detail-614435.html
二、代码:文章来源地址https://www.toymoban.com/news/detail-614435.html
// 判断文件类型
whatFileType(url) {
let sr = url.lastIndexOf("."); // 最后一次出现的位置
let fileType = url.substr(sr + 1); // 截取url的类型
return fileType;
},
// 下载文件
/**
* 本地文件存储的大小限制为 10M
*/
handleDownloadFile(e) {
let fileTypes = ["doc", "docx", "xls", "xlsx", "ppt", "pptx", "pdf"];
let imageTypes = ["jpg", "jpeg", "png"];
let fileType = this.whatFileType(e.target.dataset.fileurl);
let fileName = imageTypes.includes(fileType) ? "" : e.target.dataset.name;
const timestamp = Date.parse(new Date());
wx.showLoading({
title: "加载中",
});
wx.getSavedFileList({
// 获取文件列表
success(res) {
res.fileList.forEach((val, key) => {
// 遍历文件列表里的数据
// 删除存储的垃圾数据
wx.removeSavedFile({
filePath: val.filePath,
});
});
},
});
wx.downloadFile({
url: e.target.dataset.fileurl,
filePath: fileTypes.includes(fileType)
? wx.env.USER_DATA_PATH + "/" + timestamp + fileName
: wx.env.USER_DATA_PATH + "/" + "." + fileType,
method: "GET",
success: function (res) {
if (fileTypes.includes(fileType)) {
wx.openDocument({
filePath: res.filePath,
showMenu: true,
flieType: fileType,
success: function (res) {
wx.hideLoading();
},
fail: function (err) {
wx.hideLoading();
},
});
} else if (imageTypes.includes(fileType)) {
wx.hideLoading();
wx.previewImage({
showmenu: true,
current: res.filePath, // 当前显示图片的http链接
urls: [res.filePath], // 需要预览的图片http链接列表
});
} else {
wx.hideLoading();
wx.showModal({
title: "提示",
content: "文件类型不支持预览",
showCancel: false,
});
}
},
fail: function (err) {
wx.hideLoading();
wx.showToast({
title: "下载超时",
icon: "none",
});
},
});
},
到了这里,关于小程序附件下载并预览功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!