主要根据 掘金上的这篇博文 跨平台(uni-app)文件在线预览解决方案 设置,但是遇到了几个坑,和大家分享下:
- 出现跨域问题
可以将 view.js 的
if (origin !== viewerOrigin && protocol !== 'blob:') {
throw new Error('file origin does not match viewer\'s');
}
注释掉
- 无法读取文件流
uniapp一读取文件流就闪退。可以下载后读取。但是下载后按照原方法,会被读取view.js下的路径,需要用H5+的api转换成绝对路径
onLoad() {
uni.downloadFile({
url: 'http://192.168.18.28:8280/webupload/service/sys/file/upload/download?appKey=accessKey&prodID=prodID&fileID=3494049602848768',
success: (result) => {
var tempFilePath = result.tempFilePath
let fileUrl = plus.io.convertLocalFileSystemURL(tempFilePath)
this.allUrl = this.viewerUrl + '?file=' + fileUrl
}
})
}
3 个评论
要回复文章请先登录或注册
FullStack
谭小谭
4***@qq.com