api:
const filetype = e.substr(e.lastIndexOf('.')+1)//获取文件地址的类型 console.log('文档',filetype) uni.downloadFile({ url: e,//e是图片地址 success(res) { console.log(res) if (res.statusCode === 200) { console.log('下载成功',); var filePath = encodeURI(res.tempFilePath);//这里直接复制不用改值 uni.openDocument({ filePath: encodeURI(filePath), fileType: filetype,//这样文件地址是什么类型,api打开的就是什么类型了,前提是uni.openDocument支持的类型 showMenu: true, success: function(res) { console.log('打开文档成功'); }, fail(e) { console.log('打开失败',e) } }); } else { console.log('下载失败'); } } });
encodeURI的作用:
encodeURI函数将URI中的特殊字符转换为它们的UTF-8编码表示形式,以确保它们在传输和处理过程中不会被误解或错误解析。这样可以避免因特殊字符导致的错误或安全问题。
源码:
运行效果:
点击文件1就可以下载打开文件预览了