当前文件为存在阿里云上的文件,可以直接使用url访问
如果在模拟器上可以正确查看文件,但在体验版或正式版查看失败,可能是未配置合法域名:微信公众平台-》左侧导航中的开发管理-》开发设置tab里的服务器域名配置部分配置文件所在的域名
openFile(url, name) {
let type = name.split(".")[name.split(".").length - 1];
let image = ["JPG", "JPEG", "PNG"];
let file = ["DOC", "XLS", "PPT", "PDF", "DOCX", "XLSX", "PPTX"];
let urls = [];
urls.push(url);
// 如果文件是图片类型
if(image.indexOf(type.toLocaleUpperCase()) > -1) {
uni.previewImage({
urls: urls,
success: () => {},
fail: (e) => {
console.log(e);
showModalWithText('预览文件失败')
},
});
}
// 如果文件是DOC/XLS/PPT/PDF/DOCX/XLSX/PPTX类型
else if(file.indexOf(type.toLocaleUpperCase()) > -1) {
// 小程序配置的合法域名为https协议
if(url.indexOf("http") > -1 && url.indexOf("https") === -1) {
url = url.replace("http", "https");
}
uni.downloadFile({
url: url,
success: function (res) {
var filePath = res.tempFilePath;
uni.openDocument({
filePath: filePath,
fileType: type.toLocaleLowerCase(),
success: function (res) {
console.log('打开文档成功');
// 提示:预览文件失败
},
fail: (e) => {
console.log(e);
// 提示:预览文件失败
},
});
},
fail: function(err) {
// 提示:预览文件失败
},
});
}
else {
// 提示:此类型文件暂不支持预览
}
}