原因:
项目中遇到后端返回二进制文档流文件格式,正常下用下面方式可直接可以下载url:
// 下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载允许的最大文件为 200MB。
const url = 'xxx` // 后台给你提供的获取二进制流的接口地址
// 这里使用downloadFile下载后端给的二进制流文件接口,不要使用wx.request()接口获取;
// 注:需要微信公账号后台配置合法download接口域名,不要忘记;
wx.downloadFile({
url: url, // 下载资源的 url(可以是url文件地址、二进制文件接口)
header: { // 指定合理的 Content-Type 字段,以保证客户端正确处理文件类型
'content-type': 'application/json',
'biz-token': wx.getStorageSync('token') // 我这里需要带token验证
},
success(res){
const path: string = res.tempFilePath; // 获取下载后存储路径(本地路径)
// openDocument 新开页面打开文档。注意:微信客户端7.0.12版本前默认展示右上角菜单按钮,之后需要传入showMenu;
wx.openDocument({
filePath: path, // 文件路径(本地路径),从downloadFile获得
fileType: 'doc', // 文件类型, “doc | docx | xls | xlsx ...”
showMenu: true, // 是否显示右上角菜单(提供下载到手机文件夹、分享等功能)
success(res){
console.log('res', res)
},
fail(err){
console.log(err.errMsg)
}
})
},
fail(err){
console.log(err.errMsg)
}
})
如果文章对你有帮助,希望得到你的关注、点赞、收藏;