背景:某次需求有文件下载功能,查阅文档使用wx.saveFile下载之后使用者找不到路径,再查阅文档采取曲线解决问题,得wx.openDocument,然打开仍无法保存,关闭找不到,再查得,需要手动设置可分享,这样右上角就可出现分享功能,曲线解决了需求,资料和code记录如下:
wx.downloadFile({url: 'https://*******',//文件路径success: function (res) {const filePath = res.tempFilePathwx.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:多多点赞,多多关注,有事评论区聊起来。