checkFile(url) {
const _this = this
// 图片格式
let isImgType = ['png', 'jpg', 'jpeg']
// 下载
uni.downloadFile({
url,
success(res) {
// 下载成功
if(res.statusCode==200){
// 获取文件类型 后缀
let fileType = _this.getfileName(res.tempFilePath)
// 判断是否为图片
// 因为图片查看与文件查看预览的api不同所以这里需要判断
if (isImgType.includes(fileType)) {
// 图片预览
uni.previewImage({
//说明
current: res.tempFilePath,
//预览的图片集 可以是多张图片需要Array类型
urls: [res.tempFilePath],
})
} else {
// 文件预览
uni.openDocument({
// 文件路径
filePath: res.tempFilePath,
// 文件类型 除图片以外文件都需要文件类型
//有效值为 doc, xls, ppt, pdf, docx, xlsx, pptx
fileType: fileType,
//是否开启转发
showMenu: true,
})
}
}
}
})
},
getfileName(filename) {
// 转换为小写方便处理 拿到.的下标
const pos = filename.toLowerCase().lastIndexOf('.')
let suffix = ''
// 判断是否是文件或图片
if (pos !== -1) {
// 拿到截取.的下标后面所有字符(这样就拿到了文件类型)
suffix = filename.substring(pos+1)
}
return suffix
},
小程序 uniapp 点击附件 下载文件并预览
于 2023-03-17 12:48:24 首次发布