uniapp实现线上文件预览
使用uni.downloadFile、uni.previewImage、uni.openDocument实现文件预览
uni.openDocument(OBJECT)官网描述
新开页面打开文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx。
平台差异说明
App | H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节跳动小程序、飞书小程序 | QQ小程序 | 快手小程序 |
---|---|---|---|---|---|---|---|
√ | x | √ | √ | √ | √ | √ | x |
OBJECT 参数说明:
参数名 | 类型 | 必填 | 说明 | 平台差异说明 |
---|---|---|---|---|
filePath | String | 是 | 文件路径,可通过 downFile 获得 | |
fileType | String | 否 | 文件类型,指定文件类型打开文件,有效值 doc, xls, ppt, pdf, docx, xlsx, pptx | 微信小程序 |
showMenu | Boolean | 否 | 右上角是否有可以转发分享的功能 | 微信小程序 |
success | String | 否 | 接口调用成功的回调函数 | |
fail | String | 否 | 接口调用失败的回调函数 | 微信小程序 |
complete | String | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
代码:
uni.downloadFile({ url: this.sjuAjax.fileUrl+fileUrl, success: function (res) {
if(res.tempFilePath.indexOf(".png" ||".jpg") > -1
)
{
var filePath = []
filePath[0]=res.tempFilePath;
// 预览图片
uni.previewImage({
urls: filePath,
success: function (res) {
console.log('打开成功')
},
fail:function(res){
console.log(res)
}
})
}
else
{
var filePath = res.tempFilePath;
uni.openDocument({
filePath: filePath,
success: function (res) {
console.log('打开文档成功');
}
});
}
}, fail:function (res){ console.log(res) } });