uniapp 下载文件到手机

文章讲述了在H5环境中,如何利用uni-app的API下载后端传递的文件,包括处理下载过程中的加载提示、文件名修改以及使用uni.openDocument打开文件的步骤。如果文件类型不支持,会给出相应的提示。
摘要由CSDN通过智能技术生成

下载后端传递过来的文件

let thil = this
uni.showLoading({
	title: '下载中',
	mask:true
})
uni.downloadFile({
	url: '接口地址', //仅为示例,并非真实的资源
	header: {
		"Authorization": 'token'
	},
	responseType: 'blob',
	success: (res) => {
		if (res.statusCode === 200) {
			uni.hideLoading();
			//更改文件名称
			// 拿到临时文件的绝对路径
			let filepathss = plus.io.convertLocalFileSystemURL(res.tempFilePath);
			// 通过这个路径来拿到他
			plus.io.resolveLocalFileSystemURL(filepathss, function(entry) {
				const tempFileName = entry.name;
				entry.getParent(function(parentDicEntry) {
					entry.moveTo({
						fullPath: parentDicEntry.fullPath + '/'
					}, `${thil.$u.guid(20)}.zip`, function(newFile) {
						uni.openDocument({
							fileType: 'zip',
							filePath: newFile.fullPath,
							success: function(res2) {

							},
							fail: function(err) {
								if (err.errCode == 1 || err
									.code == 1) {
									uni.showToast({
										title: `未找到能打开xlsx类型文件的手机应用`,
										icon: 'none'
									})
								}
							}
						});
					}, function(moveError) {
						uni.showToast({
							title: `已在第三方应用中打开过,请在第三方应用查看时保存`,
							icon: 'none'
						})
					})
				})
			})
		} else {
			uni.hideLoading();
		}
	}
});
要在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、付费专栏及课程。

余额充值