原文来自:https://www.frbkw.com/2079/
看标题,大家就知道了,上次发布的文章把我们uni.downloadFile和uni.saveFile文件保存到手机永久储存,文章末尾也提到了,如果是媒体文件那么我们就保存到相册,是可以直接调用的。如果是自定义文件夹就要调用5+ 的api咯,虽然我也不会哈哈,如果大家看到上次的文章应该就不难了,只是多了一个uni.saveImageToPhotosAlbum
前提引导(建议先看上个文章:uni-app下载文件永久保存uni.downloadFile和uni.saveFile)
好像自动会给相册权限哈
官方语法
[Asm] 纯文本查看 复制代码 success: function (res) {
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePaths[0],
success: function () {
console.log('save success');
}
});
}
3.结合下载
上文说过,我们uni.downloadFile有一个tempFilePath是临时路径的,所以我们将tempFilePath给filePath就好了写一个按钮
[Asm] 纯文本查看 复制代码 <button class="mini-btn in-xz" type="default" size="mini" @tap="xiazai">下载</button>
触发的函数
[Asm] 纯文本查看 复制代码 methods: {
onxiazai() {
const downloadTask = uni.downloadFile({
url: 'https://cloud.video.taobao.com//play/u/2384606604/p/2/e/6/t/1/237850440299.mp4',
success: (res) => {
if (res.statusCode === 200) {
uni.showToast({
title: "视频连接正确",
icon: "none"
});
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: function() {
uni.showToast({
title: "保存成功",
icon: "none"
});
},
fail: function() {
uni.showToast({
title: "保存失败,请稍后重试",
icon: "none"
});
}
});
}
}
});
downloadTask.onProgressUpdate((res) => {
console.log('下载进度' + res.progress);
console.log('已经下载的数据长度' + res.totalBytesWritten);
console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);
});
}
} |