记录uniapp下载网络视频链接到本地相册

大致思路是: 使用uni.downloadFile先将文件下载到缓存中然后使用uni.saveVideoToPhotosAlbum下载到用户本地。

// 下载视频
uploadVideo() {
    // 提醒用户下载中
	uni.showToast({title:"下载中",icon:"loading"})
	// 1 将远程文件下载到小程序的内存中
	uni.downloadFile({
	    url:"https://yishijie1.oss-cn-beijing.aliyuncs.com/mp4/1.mp4",
		success: (res)=>{
		    // 2 成功下载后而且状态码为200时将视频保存到本地系统
			if(res.statusCode === 200) {
			    uni.saveVideoToPhotosAlbum({
		            filePath: res.tempFilePath
		        })
			    uni.hideLoading();
			    // 提示用户下载成功
			    uni.showToast({title:"下载成功",icon:"success"});
		    }
		    // 如果该资源不可下载或文件格式出错则提示用户
		    else {
			    uni.showToast({title:"资源格式错误,请联系管理员"});
		    }
	    },
		fail: (err)=>{
	        // 下载失败提醒
			uni.hideLoading();
			uni.showToast({title:"下载失败"})
		}
	})
}

要在uniapp下载视频相册,可以使用uniapp提供的原生能力,即uniapp的原生插件。 首先,需要在uniapp项目中引入原生插件。可以在manifest.json文件中的"uniPlugins"字段中添加视频下载插件的引用,例如: ```json "uniPlugins": { "videoDownloader": { "name": "video-downloader", "version": "1.0.0", "provider": "your.plugin.provider" } } ``` 然后,在需要下载视频的页面中,调用视频下载方法。可以使用uni.request方法发送HTTP请求,下载视频文件,并保存到手机的临时目录中。具体代码如下: ```javascript uni.request({ url: 'http://example.com/video.mp4', // 视频下载链接 success: (res) => { if (res.statusCode === 200) { uni.downloadFile({ url: res.tempFilePath, // 临时文件路径 success: (downloadRes) => { if (downloadRes.statusCode === 200) { // 调用原生插件将视频保存到相册 uni.requireNativePlugin('videoDownloader').download({ filePath: downloadRes.tempFilePath, success: () => { uni.showToast({ title: '视频保存成功', icon: 'success' }); }, fail: () => { uni.showToast({ title: '视频保存失败', icon: 'none' }); } }); } else { uni.showToast({ title: '下载视频失败', icon: 'none' }); } } }); } else { uni.showToast({ title: '获取视频信息失败', icon: 'none' }); } } }); ``` 以上代码通过uni.request方法获取视频文件的下载链接,并通过uni.downloadFile方法将视频文件下载到手机的临时目录。然后,调用原生插件的download方法将视频保存到相册中。如果保存成功,会显示一个成功的Toast提示;如果保存失败,会显示一个失败的Toast提示。 需要注意的是,以上代码仅供参考,具体实现方式可能因插件和版本而异。请根据实际情况进行相应的更改和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值