小程序
小游戏
企业微信
微信支付
扫描小程序码分享
wx.cloud.downloadFile
wx.getFileSystemManager().saveFile
需求是在PC端下载云储存里大量视频文件到本地,并且可以自定义名称,单个视频都不超过200,但是总量肯定会超,下载前几个视频后就保存失败了,请教大家有什么方法能解决
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
在PC端微信小程序上下载云存储里的大量视频文件到本地,并允许自定义名称,且单个视频文件不超过200MB但总量较大时,确实需要考虑一些策略来有效处理下载过程。以下是一些建议的方法:
// 假设这是你的微信小程序页面的JS文件 Page({ // ... 其他页面代码 ... // 下载视频文件的函数 downloadVideo: function(videoId, customName) { const that = this; // 调用云存储API获取视频文件的下载链接 wx.cloud.callFunction({ name: 'getVideoDownloadURL', // 云函数名称,用于获取下载链接 data: { videoId: videoId // 视频的唯一标识 }, success: function(res) { const downloadURL = res.result.url; // 获取到的视频下载链接 if (downloadURL) { // 使用微信小程序的downloadFile API下载文件 wx.downloadFile({ url: downloadURL, // 下载链接 success: function(downloadRes) { if (downloadRes.statusCode === 200) { // 文件下载成功,开始保存文件到本地 const tempFilePath = downloadRes.tempFilePath; // 临时文件路径 const saveFilePath = wx.env.USER_DATA_PATH + '/' + customName + '.mp4'; // 自定义保存路径和文件名 // 将临时文件移动到指定路径 wx.saveFile({ tempFilePath: tempFilePath, destPath: saveFilePath, success: function(saveRes) { wx.showToast({ title: '下载成功', icon: 'success', duration: 2000 }); // 处理下载成功后的逻辑,比如更新UI等 }, fail: function(err) { wx.showToast({ title: '保存文件失败', icon: 'none', duration: 2000 }); console.error('保存文件失败:', err); } }); } else { wx.showToast({ title: '下载失败', icon: 'none', duration: 2000 }); } }, fail: function(err) { wx.showToast({ title: '下载失败', icon: 'none', duration: 2000 }); console.error('下载文件失败:', err); } }); } else { wx.showToast({ title: '获取下载链接失败', icon: 'none', duration: 2000 }); } }, fail: function(err) { wx.showToast({ title: '调用云函数失败', icon: 'none', duration: 2000 }); console.error('调用云函数失败:', err); } }); }, // ... 其他页面代码 ... });
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
在PC端微信小程序上下载云存储里的大量视频文件到本地,并允许自定义名称,且单个视频文件不超过200MB但总量较大时,确实需要考虑一些策略来有效处理下载过程。以下是一些建议的方法:
// 假设这是你的微信小程序页面的JS文件 Page({ // ... 其他页面代码 ... // 下载视频文件的函数 downloadVideo: function(videoId, customName) { const that = this; // 调用云存储API获取视频文件的下载链接 wx.cloud.callFunction({ name: 'getVideoDownloadURL', // 云函数名称,用于获取下载链接 data: { videoId: videoId // 视频的唯一标识 }, success: function(res) { const downloadURL = res.result.url; // 获取到的视频下载链接 if (downloadURL) { // 使用微信小程序的downloadFile API下载文件 wx.downloadFile({ url: downloadURL, // 下载链接 success: function(downloadRes) { if (downloadRes.statusCode === 200) { // 文件下载成功,开始保存文件到本地 const tempFilePath = downloadRes.tempFilePath; // 临时文件路径 const saveFilePath = wx.env.USER_DATA_PATH + '/' + customName + '.mp4'; // 自定义保存路径和文件名 // 将临时文件移动到指定路径 wx.saveFile({ tempFilePath: tempFilePath, destPath: saveFilePath, success: function(saveRes) { wx.showToast({ title: '下载成功', icon: 'success', duration: 2000 }); // 处理下载成功后的逻辑,比如更新UI等 }, fail: function(err) { wx.showToast({ title: '保存文件失败', icon: 'none', duration: 2000 }); console.error('保存文件失败:', err); } }); } else { wx.showToast({ title: '下载失败', icon: 'none', duration: 2000 }); } }, fail: function(err) { wx.showToast({ title: '下载失败', icon: 'none', duration: 2000 }); console.error('下载文件失败:', err); } }); } else { wx.showToast({ title: '获取下载链接失败', icon: 'none', duration: 2000 }); } }, fail: function(err) { wx.showToast({ title: '调用云函数失败', icon: 'none', duration: 2000 }); console.error('调用云函数失败:', err); } }); }, // ... 其他页面代码 ... });