因为APP下载的文件根据手机的不同保存的地址是不同的,更何况还不好找到。
所以发送到微信中进行备份是非常不错的选择。
插件市场:安卓ios分享任意类型文件 - DCloud 插件市场
插件市场直接导入插件:根据教程直接写代码
// 分享到微信插件
const FileShare = uni.requireNativePlugin('life-FileShare');
// 文件路径
let url = item.file;
// 文件名称
let name = item.filename;
//下面使用这个下载方式,亲测,如果用uniapp自身的ios中文乱码,下面可以重命名不会乱码,分享就是FileShare调用
var dtask = plus.downloader.createDownload(url, {filename:"_doc/pdf/" + name}, function(d, status){
// 下载完成
if(status == 200){
FileShare.render({
type:'SYSTEM',//QQ为QQ,微信为WX,系统默认是SYSTEM,不填写默认SYSTEM
filePath:plus.io.convertLocalFileSystemURL(d.filename),
}, result => {
console.log(result,'result')
},errer =>{
console.log(errer,'errer')
});
} else {
console.log("Download failed: " + status);
}
});
dtask.start();
说一下遇到的坑和注意事项:
1、只支持APP端。
2、配置中需要勾选云插件,真机运行需要打包自定义基座,然后运行设备选择打包的自定义基座。(这样才能使用上方引入的插件)
3、运行后,调用分享选择微信后一直提示“获取资源失败”
查阅众多文档:uniapp app分享pdf等文件等到微信以及其他应用_uniapp分享文件到微信-CSDN博客
uniapp app系统分享pdf等文件到微信提示获取资源失败或者文件名称变了问题_uniapp app文件分享到微信-CSDN博客
都是说的文件名格式什么的。打印看了格式什么都没有问题。真是头疼。
(调试手机没有登录微信,不知是不是这个原因)
随后直接打包,发给同事安卓手机安装后,打开使用分享一切正常。