import store from '@/store/index.js'
import config from "@/utils/config.js"
var baseURL = config.api_service;
var token = uni.getStorageSync('token');
var header = {
'Authorization': `${token.token_type+" "+token.access_token}`,
}
// 预览
const utilPreviewFile = function({name,url}) {
let fileTypes = ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf', 'zip']//根据类型自行添加
let imageTypes = ["jpg", "jpeg", "png"]
let fileType = name.split('.')[1]
console.log(fileType);
return new Promise((resolve, reject) => {
uni.downloadFile({
url: 'https地址' + url, //仅为示例,并非真实的资源
success(res1) {
// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
if (res1.statusCode === 200) {
const fileManager = uni.getFileSystemManager();
fileManager.saveFile({
tempFilePath: res1.tempFilePath,
success(res2) {
const savedFilePath = res2.savedFilePath;
if (imageTypes.includes(fileType)) {
uni.previewImage({
current: savedFilePath, // 当前显示图片的http链接
urls: [savedFilePath], // 需要预览的图片http链接列表
success: () => {
resolve(res1)
},
fail: () => {
reject(res1)
uni.showToast({
title: '预览失败',
icon: 'none'
});
}
})
} else {
uni.openDocument({ //新开页面打开文档
filePath: savedFilePath,
showMenu: true,
flieType: fileType,
success: function(res3) {
resolve(res3)
console.log('打开文档成功')
},
fail: function(err3) {
reject(err3)
uni.showToast({
title: '预览失败',
icon: 'none'
});
console.log('打开文档失败:', err3)
}
});
}
},
fail: function(err) {
console.log('保存失败:', err)
}
})
}
}
})
})
}
export default utilPreviewFile
uni-app预览文件
于 2023-03-15 10:23:33 首次发布