uniapp文件操作依赖IO模块,网上很多小白都不知道怎么下载文件到手机自定义目录,
看官方文档下载文件永久保存uni.downloadFile和uni.saveFile,文件存放的位置开始时临时的,转成永久的后
它保存的位置在
“内部存储\Android\data\io.dcloud.HBuilder\apps\HBuilder\doc\uniapp_save”里
不方便操作,下载的文件也不方便用户使用。
Download() {
var url = "http://xxxxx"
let dtask = plus.downloader.createDownload(url, {
//本地路径开头使用file://,跟上手机文件本地目录storage/emulated/0,就是用户文件管理器能看到的了,之后我创建微垠作为文件夹,后缀是用于文件命名和格式修改,大家可以使用变量。
filename: "file://storage/emulated/0/微垠/" + "微垠影视v1.2.apk" //利用保存路径,实现下载文件的重命名
},
function(d, status) {
//d为下载的文件对象
if (status == 200) {
//下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
plus.runtime.openFile(d.filename); //选择软件打开文件
} else {
//下载失败
plus.downloader.clear(); //清除下载任务
}
})
dtask.start();
}