微信小程序文件下载并保存

背景:某次需求有文件下载功能,查阅文档使用wx.saveFile下载之后使用者找不到路径,再查阅文档采取曲线解决问题,得wx.openDocument,然打开仍无法保存,关闭找不到,再查得,需要手动设置可分享,这样右上角就可出现分享功能,曲线解决了需求,资料和code记录如下:

wx.downloadFile({
        url: 'https://*******',//文件路径
        success: function (res) {
          const filePath = res.tempFilePath
          wx.openDocument({
            filePath: filePath,
            showMenu: true,
            success: function (res) {
              console.log('打开文档成功')
            }
          })
        }
      })

过程中涉及的API记录如下:

1.wx.saveFile(Object object)

保存文件到本地。注意:saveFile 会把临时文件移动,因此调用成功后传入的 tempFilePath 将不可用

官方文档:wx.saveFile(Object object) | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.saveFile.html问题:保存成功之后找不到本地文件

2. wx.openDocument(Object object)

新开页面打开文档。微信客户端 7.0.12 版本前默认显示右上角菜单按钮,之后的版本默认不显示,需主动传入 showMenu


官方文档: wx.openDocument(Object object) | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.openDocument.html

注:filePath为临时路径,需要通过downLoadFile获得,下面介绍wx.downloadFile(Object object)

3.wx.downloadFile(Object object)

下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载允许的最大文件为 200MB。使用前请注意阅读相关说明

注意:请在服务端响应的 header 中指定合理的 Content-Type 字段,以保证客户端正确处理文件类型。


官方文档:DownloadTask | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/miniprogram/dev/api/network/download/wx.downloadFile.html 

 根据以上API,采用文章开始给出的code可以实现文件下载并能随时找到文件的需求。撒花,完结。

ps:多多点赞,多多关注,有事评论区聊起来。

猜你喜欢

转载自blog.csdn.net/wh_xmy/article/details/122601038
今日推荐