微信小程序之各类文件下载保存到本地

这几天接收别人的微信小程序,需要添加文件上传和下载的功能,上传没什么好说的,微信没有打开文件夹的功能,只能打开聊天记录,查找收到的文件,再上传。今天要说的是小程序下载非视频类和非图片类的文件(无法直接保存到相册的文件类型),并保存到手机本地的方法。

好了,废话说了不少,开始切题,直接上代码:

const gbl = getApp().globalData;
Page({
    /*
     ....其他方法...
     */

    // 下载电子表格模板
    downloadTemplate: function(){
        wx.downloadFile({
            url: gbl.baseUrl + '/person/downloadTemplate/' + this.data.fileName,
            success: function(res){        
                if (res.statusCode === 200) {
                    // 通过内置文档对象打开文档,便于另存为
                    wx.openDocument({
                        filePath: res.tempFilePath,
                        fileType: 'xls',
                        showMenu: true // 关键,这里开启预览页面的右上角菜单,才能另存为
                    })
                 }
             }
         })
     }
})

怎么样,看似代码很简单,但网上却找不到一个完整的、可用的示例代码,这是我花好几个小时,反复查找资料,反复修改调试,经过N次验证得到的结果,个中郁闷不足为外人道也。。。。。

另外需要注意的一点,就是服务端,下载文件的接口,http的头信息里,最好把文件类型对应的"Content-Type"写准确,避免前端不能准确识别文件类型。如:


  res.set("Content-Type", "application/x-xls"); //电子表格
  res.set("Content-Type", "application/pdf");   //pdf文档

  • 11
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值