uni-app中uni.downloadFile可以实现文件下载,但是下载的文件只能保存在项目资源路径下,并且不能实现重命名;
根据需求是实现视频文件重命名,这样可以直接减少维护人员工作;
在uni-app中实现自定义下载文件重命名,还是需要H5+API来实现;
首先:在文件下载时判断文件目录是否存在;
plus.io.resolveLocalFileSystemURL( '_downloads/', function( entry ) {
//存在操作,取本地
},function ( e ) {
//进行文件下载
});
其次,在下载时文件如果存在会默认在文件名后面自动添加序号,这样文件不能得到及时得到更新而且占用内存;所以需要再做一次文件删除;
plus.io.resolveLocalFileSystemURL( '_downloads/', function(entry) {
var directoryReader = entry.createReader();
//读取这个目录下的所有文件
directoryReader.readEntries(function(entries){
if(entries.length > 0) {
//删除目录将会删除其下的所有文件及子目录 不能删除根目录,如果操作删除根目录
//将会删除目录下的文件及子目录,不会删除根目录自身。 删除目录成功通过success
entry.removeRecursively(function(entry) {
that.createDownload(url);
}, (e) =>{
console.log(e.message + ' ?!')
})
}else{
that.createDownload(url);
}
})
})
这样能确保本地只保存一份视频文件,同样也减小了内存占用;