onDown(videoUrl) {
console.log(videoUrl);
uni.showLoading({
title: '正在下载',
icon: 'loading',
duration: 10000,
});
uni.downloadFile({
url: videoUrl,
success: function(res) {
if (res.statusCode == 200) {
// 下载成功后保存到本地相册
uni.saveVideoToPhotosAlbum({
filePath: res.tempFilePath,
success: function() {
uni.showToast({
title: '保存成功',
icon: 'success'
})
uni.hideLoading();
},
fail: function(error) {
uni.showToast({
title: "保存失败",
icon: 'none'
})
uni.hideLoading();
}
})
} else {
uni.showToast({
title: "保存失败",
icon: 'none'
})
uni.hideLoading();
console.log('下载失败', res.statusCode);
}
},
fail: function(error) {
console.log('下载失败', error);
}
})
},
小程序保存视频,只有在开发者调试才能,退出就无法保存
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
问题描述:给定的代码块是一个包含下载视频并保存到本地相册的函数,其中包括了下载视频、保存到相册成功和失败的处理逻辑。请问在这段代码中有什么问题,以及如何改进? 问题分析及解决方案:- 在代码中,下载视频成功后保存到相册的操作没有做错误处理,即使保存到相册失败也不会有任何提示。为了提高用户体验,应该在保存到相册失败时给出相应的提示。
- 在下载视频过程中,没有实现进度条展示和用户体验,可以考虑添加下载进度的展示。
- 在下载失败时,只是在控制台打印了错误信息,但没有给用户任何提示,应该考虑通过Toast提示用户下载失败的原因。
改进方案:
onDownload(videoUrl) { console.log(videoUrl); uni.showLoading({ title: '正在下载', icon: 'loading', duration: 10000, }); uni.downloadFile({ url: videoUrl, success: function(res) { if (res.statusCode === 200) { // 下载成功后保存到本地相册 uni.saveVideoToPhotosAlbum({ filePath: res.tempFilePath, success: function() { uni.showToast({ title: '保存成功', icon: 'success' }); uni.hideLoading(); }, fail: function(error) { uni.showToast({ title: '保存失败,请检查权限设置', icon: 'none' }); uni.hideLoading(); } }) } else { uni.showToast({ title: '保存失败,请重试', icon: 'none' }); uni.hideLoading(); console.log('下载失败', res.statusCode); } }, fail: function(error) { uni.showToast({ title: '下载失败,请检查网络设置', icon: 'none' }); uni.hideLoading(); console.log('下载失败', error); }, complete: function() { uni.hideLoading(); } }) }改进后的代码中,在保存到相册失败时会给出相应的提示,同时在下载失败时也会给用户相应的提示,同时添加了下载完成后隐藏Loading的操作。
解决 无用评论 打赏 举报