用小程序打开word或pdf时,首先需要先下载文档,打开的其实是临时文件目录,再就是要注意指定文件的格式,如果不指定格式文档是打不开的。
detail.wxml:
<view class="file-lists">
<view class='item' wx:for="{{detail.checkReportFiles}}" wx:key="i">
<view data-param="{{item}}" class="file" bindtap="downloadFile">
{{item.originalFileName}}
</view>
</view>
</view>
detail.js
downloadFile(e){
let arr = ['doc', 'xls', 'ppt', 'pdf', 'docx', 'xlsx', 'pptx']
// console.log(e.target.dataset.param)
//获取文件后缀
let filetypeIndex = e.target.dataset.param.originalFileName.lastIndexOf('.')
//console.log(filetypeIndex)
let fileType = e.target.dataset.param.originalFileName.substring(filetypeIndex+1,e.target.dataset.param.originalFileName.length)
console.log('filetype>>>',fileType)
//console.log(arr.indexOf(fileType))
let fileurl = app.globalData.baseUrl+'/api/file/download/'+e.target.dataset.param.id
if(arr.indexOf(fileType)!==-1){
wx.showLoading({
title: '加载中',
})
wx.downloadFile({
url: fileurl,
success(res){
wx.openDocument({
fileType:fileType,
filePath: res.tempFilePath,
success(){
wx.hideLoading()
}
})
}
})
} else {
wx.previewImage({
current: fileurl,
urls:[fileurl]
})
}
},
网友评论