最近在微信小程序做预览文件的功能时发现,按照官方文档来的但还是报错了。
最根本的原因就是 fileType 这个字段必传
因为我这这边的业务要求是:预览任何文件和图片所以下面我是这么处理的
直接上代码:
onPreview(){
let file = this.data.detail.surveyFile;
let fileType = null;
if(file.endsWith('.doc')){
fileType = 'doc';
}else if(file.endsWith('.docx')){
fileType = 'docx';
}else if(file.endsWith('.xls')){
fileType = 'xls';
}else if(file.endsWith('.xlsx')){
fileType = 'xlsx';
}else if(file.endsWith('.ppt')){
fileType = 'ppt';
}else if(file.endsWith('.pptx')){
fileType = 'pptx';
}else if(file.endsWith('.pdf')){
fileType = 'pdf';
}
if(fileType){
wx.downloadFile({
url: this.data.detail.surveyFile,
success: function (res) {
const filePath = res.tempFilePath
wx.openDocument({
filePath: filePath,
fileType,
success: function (res) {}
})
}
})
}else{
wx.previewMedia({
sources:[
{type:"image",url: this.data.detail.surveyFile}
]
})
}
},