当前位置:网站首页>跨平台应用开发进阶(二十四) :uni-app实现文件下载并保存
跨平台应用开发进阶(二十四) :uni-app实现文件下载并保存
2022-07-01 15:33:00 【No Silver Bullet】
一、资源下载
APP应用开发过程中,资源下载是一种常见应用场景。uni-app中应用uni.downloadFile实现文件下载功能。示例代码如下:
downLoadFile() {
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);
});
}
注:文件的临时路径,在应用本次启动期间可以正常使用,如需持久保存,需在主动调用 uni.saveFile,才能在应用下次启动时访问得到。
二、资源保存
当应用uni.downloadFile回调成功后tempFilePath参数代表临时保存文件的路径,再使用uni.saveFile保存到本地即可,实例代码如下:
downLoadFile() {
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);
});
}
资源下载并保存的位置为:
“内部存储\Android\data\io.dcloud.HBuilder\apps\HBuilder\doc\uniapp_save”
三、资源打开
//文件保存到本地
uni.saveFile({
tempFilePath: data.tempFilePath, //临时路径
success: function(res) {
uni.showToast({
icon: 'none',
mask: true,
title: '文件已保存:' + res.savedFilePath, //保存路径
duration: 3000,
});
setTimeout(() => {
//打开文档查看
uni.openDocument({
filePath: res.savedFilePath,
success: function(res) {
// console.log('打开文档成功');
}
});
}, 3000)
}
});
四、图片保存到本机相册
uni.downloadFile({
url: imgUrl[0],
success: (res) => {
if (res.statusCode === 200) {
//保存图片到系统相册
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: function() {
uni.showToast({
title: "保存成功",
icon: "none"
});
return
},
fail: function() {
uni.showToast({
title: "保存失败,请稍后重试",
icon: "none"
});
return
}
});
}
}
})
五、拓展阅读
边栏推荐
- Hardware design guide for s32k1xx microcontroller
- Qt+pcl Chapter 6 point cloud registration ICP Series 2
- Zhang Chi Consulting: lead lithium battery into six sigma consulting to reduce battery capacity attenuation
- Don't ask me again why MySQL hasn't left the index? For these reasons, I'll tell you all
- 【天线】【3】CST一些快捷键
- Tableapi & SQL and MySQL grouping statistics of Flink
- Basic use process of cmake
- Opencv Learning Notes 6 -- image mosaic
- 选择在长城证券上炒股开户可以吗?安全吗?
- It's settled! 2022 Hainan secondary cost engineer examination time is determined! The registration channel has been opened!
猜你喜欢

Wechat applet 01 bottom navigation bar settings

Raytheon technology rushes to the Beijing stock exchange and plans to raise 540million yuan

厦门灌口镇田头村特色农产品 甜头村特色农产品蚂蚁新村7.1答案

张驰咨询:锂电池导入六西格玛咨询降低电池容量衰减

skywalking 6.4 分布式链路跟踪 使用笔记

Hardware design guide for s32k1xx microcontroller

【显存优化】深度学习显存优化方法

How to realize clock signal frequency division?

An intrusion detection model

Phpcms background upload picture button cannot be clicked
随机推荐
opencv学习笔记六--图像特征[harris+SIFT]+特征匹配
Stm32f4-tft-spi timing logic analyzer commissioning record
微信网页订阅消息实现
Skywalking 6.4 distributed link tracking usage notes
Basic use process of cmake
6.2 normalization 6.2.6 BC normal form (BCNF) 6.2.9 normalization summary
Fix the failure of idea global search shortcut (ctrl+shift+f)
Introduction to MySQL audit plug-in
S32K1xx 微控制器的硬件设计指南
微服务追踪SQL(支持Isto管控下的gorm查询追踪)
JS中箭头函数和普通函数的区别
张驰咨询:家电企业用六西格玛项目减少客户非合理退货案例
Create employee data in SAP s/4hana by importing CSV
Tableapi & SQL and MySQL grouping statistics of Flink
STM32F411 SPI2输出错误,PB15无脉冲调试记录【最后发现PB15与PB14短路】
张驰咨询:锂电池导入六西格玛咨询降低电池容量衰减
[Cloudera][ImpalaJDBCDriver](500164)Error initialized or created transport for authentication
Wechat official account subscription message Wx open subscribe implementation and pit closure guide
MySQL审计插件介绍
Connect the ABAP on premises system to the central inspection system for custom code migration