微信小程序 下载xls文件

先看微信文档关于下载的解释:
在这里插入图片描述

微信下载文件代码示例:

wx.downloadFile({
  url: 'https://example.com/audio/123', //仅为示例,并非真实的资源
  success (res) {
    // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
    if (res.statusCode === 200) {
 	let filePath = res.tempFilePath //文件在微信云服务器上的临时地址
    }
  }
})

这个示例其实是需要后台进行配合处理的,如果下载链接为:https://example.com/audio/123.xls时候是可以下载下来的,但是如果下载的链接没有后缀,则是下载不下来xls文件。解决办法是提供链接的后台服务器在数据返回的时候将响应值(ContentType)内容改为application/vnd.ms-excel;charset=UTF-8,例如:

response.setContentType("application/vnd.ms-excel;charset=UTF-8");

问题解析过程
一般来说,后台返回数据都是流文件的格式,响应格式为二进制流(application/octet-stream)。但是微信在获取后,会根据响应格式生成对应的临时文件将它保存在微信临时服务器上。而二进制流生成的文件是以**.bin**结尾的文件,我们拿到这个临时文件地址去打开文档是打不开的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值