小程序下载PDF文件并保存在本地(适用IOS安卓)

阅读: 评论:0

小程序下载PDF文件并保存在本地(适用IOS安卓)

小程序下载PDF文件并保存在本地(适用IOS安卓)

项目需要要做个下载功能,下载PDF版发票并保存在本地文件中。
下载文件:用uni.downloadFile或wx.downloadFile下载文件,拿到返回文件的本地临时路径。
保存文件:
1.IOS端
ios不能直接下载在本地,需用用户自己复制下载链接,后在Safari浏览器中预览下载。js功能代码如下:

	//先弹窗提醒用户复制链接uni.showModal({title: '复制发票链接',content: '请点击确定,复制发票链接,在Safari浏览器中预览下载',showCancel: false,success: function (res) {if (firm) {pyLink(item)}}});//复制链接copyLink(item){uni.setClipboardData({data: item,   // 要复制的路径success: function(res) {ClipboardData({success: function(data) {uni.showToast({title: '复制成功'});},fail: function(data1) {console.log(data1,'复制回调');						}});}});}

2.安卓端
存储文件的话,建议使用FileSystemManager对象中的方法,旧的uni.saveFile不维护了。
FileSystemManager是微信小程序文件管理器,通过 wx.getFileSystemManager 获取。但是保存文件后,返回的存储后的文件路径 (本地路径)格式是wxfile://store_eXXXXXXX,很难找到,在网上看华为手机存储的路径有三个,三个路径“tencent/MicroMsg/WeiXin”、“tencent/MicroMsg/Download”、“Android/t.mm/MicroMsg/Download”,在手机上没找到,所以用了别的方法。
方法:使用wx.getFileSystemManager().saveFile下载文件,再使用wx.openDocument()打开文件,配置一定要加上showMenu字段,这样打开预览的文件右上角就会出现···,点击···即可保存文件。这样文件会直接保存在手机下载管理器中,非常容易找到。
具体使用的js功能代码如下:

	uni.downloadFile({url: item,// 文档地址success: (data) => {if (data.statusCode == 200) {wx.getFileSystemManager().saveFile({tempFilePath: pFilePath, //临时路径success: function (res) {// 保存路径wx.openDocument({filePath: res.savedFilePath,showMenu: true,success: function(res) {},fail(error) {}})}});}}, fail: (err) => { showToast("失败请重新下载" )},});

本文发布于:2024-01-27 19:56:54,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063566122316.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:并保存   程序下载   文件   IOS   PDF
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23