吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6328|回复: 5
收起左侧

[其他转载] 【转】uni-app下载文件永久保存uni.downloadFile和uni.saveFile

[复制链接]
fengrui99 发表于 2019-11-21 11:04
原来转载来自:https://www.frbkw.com/2070/

uni-app下载文件永久保存uni.downloadFile和uni.saveFile,也有些不好的地方吧,比如文件存放的位置开始时临时的,转成永久的后 == 文件所谓在位置复杂



1.建立项目新建项目-选择uni-app (老图哈哈)
2.添加下载事件
写一个按钮,点击按钮的时候在处发下载


[Asm] 纯文本查看 复制代码
<button type="primary" @tap="xiazai">确定下载</button>


3.uni.downloadFile下载
点击下载按钮后处发methods里面的函数(官方文档说明请点击我)下载后通过 downloadTask,可监听下载进度变化事件


[Asm] 纯文本查看 复制代码
methods: {
	xiazai() {
		const downloadTask = uni.downloadFile({
			url: 'http://img.netbian.com/file/2019/0414/7bee7eef5fc44417a0b02a46576e7e16.jpg', //仅为示例,并非真实的资源
				success: (res) => {
					if (res.statusCode === 200) {
						console.log('下载成功');
					}
					this.dd = res.tempFilePath;
					console.log(this.dd);
			}
		});

		downloadTask.onProgressUpdate((res) => {
			console.log('下载进度' + res.progress);
			console.log('已经下载的数据长度' + res.totalBytesWritten);
			console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);
		});
	}
}

控制台中可以看到文件的下载位置(447行)和下载的大小等,但这个是临时文位置




4.uni.saveFile永久保存
当uni.downloadFile 回调成功后tempFilePath参数临时保存文件的路径,在使用uni.saveFile存到本地即可,整体代码如下


[Asm] 纯文本查看 复制代码
methods: {
	xiazai() {
		const downloadTask = uni.downloadFile({
			url: 'http://img.netbian.com/file/2019/0414/7bee7eef5fc44417a0b02a46576e7e16.jpg', //仅为示例,并非真实的资源
			success: (res) => {
				if (res.statusCode === 200) {
					console.log('下载成功');
				}
				let that = this;
				uni.saveFile({
					tempFilePath: res.tempFilePath,
						success: function(red) {
							that.luj = red.savedFilePath
							console.log(red)
						}
					});
				}
			});

			downloadTask.onProgressUpdate((res) => {
				console.log('下载进度' + res.progress);
				console.log('已经下载的数据长度' + res.totalBytesWritten);
				console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);
		});
	}
}


5.保存所谓位置

它保存的位置比奇葩在“内部存储\Android\data\io.dcloud.HBuilder\apps\HBuilder\doc\uniapp_save”
如果是图片之类的可以直接保存在相册,或者5+plus自定义一个保存目录

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
xlh1502735 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

AIctiy 发表于 2019-11-21 11:41
sometime is much
boteli 发表于 2019-11-21 11:45
大哥,你那边有没有UNI-APP的视频裁剪插件呀,就像抖音一样,自己上传的视频可以裁剪,时间控制在1分钟内的。。我想让上传的视频都要在1分钟内。。还有就是照片墙功能~!
 楼主| fengrui99 发表于 2019-11-21 11:53
boteli 发表于 2019-11-21 11:45
大哥,你那边有没有UNI-APP的视频裁剪插件呀,就像抖音一样,自己上传的视频可以裁剪,时间控制在1分钟内的 ...

找个好像还没有
boteli 发表于 2019-11-21 11:57

我现在找不到这样的插件,插件市场有,但是就一个裁剪功能,就要600元,有点坑。。
 楼主| fengrui99 发表于 2019-11-21 13:16
boteli 发表于 2019-11-21 11:57
我现在找不到这样的插件,插件市场有,但是就一个裁剪功能,就要600元,有点坑。。

淘宝和咸鱼看看有么有便宜的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 17:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表