uni-app永久保存下载文件uni.downloadFile和uni.saveFile

南国老符 南国老符 最后更新于:2022-04-23 浏览:1930

在关注uni-app后一段时间,想借助一些API接口去开发一些小小的软件,做为一个练习。看到了抖音水印解析的接口后,就像去试试,做app的话就一个功能,而且UI界面好画。

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


uni-app永久保存下载文件的步骤和方法:


1.建立项目:新建项目-选择uni-app

2.添加下载事件:写一个按钮,点击按钮的时候在处发下载

<button type="primary" @tap="xiazai">确定下载</button>


3.uni.downloadFile下载
点击下载按钮后处发methods里面的函数,下载后通过 downloadTask,可监听下载进度变化事件

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存到本地即可,整体代码如下

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自定义一个保存目录


点赞 (0)

收藏 (0)
转载请务必注明: 来源:《建站管家》https://www.df81.com/news/298.html

本站部分信息来源网络,如有侵权,请联系QQ:1062129401删除。

上一篇: PHP把图片转换成圆形png(头像处理)

下一篇: uni.downloadFile()下载文件1次后无法继续下载解决方案

请先登录后,再发表评论 ~ ~
发表评论
评论 (0)

发表帖子
广告位招租( ¥5 / 天 )
点击咨询
最新帖子

南国老符
2025-05-26 16:54
南国老符
2024-09-29 10:29
南国老符
2023-12-15 21:41
广告位招租( ¥5 / 天 )
点击咨询
最近评论

U
user1379
回复:版本号多少?
U
user1379
回复:新版本修复了,下载新版本即可
U
user1379
U
user1304
回复:默认没有这个功能,你可以自行二次开发后期可能会考虑在站群版本上加入此功能及商城功能
Y
yuanis90
回复:后台->语言->全局管理->模型管理->编辑->启用关键词内链即可
Y
yuanis90
回复:后台已经启用了,但是前台产品说明的关分键词还是没有自动链接到,
购买VIP
购买授权
余额充值
发表帖子
客服微信