当前位置:网站首页>跨平台应用开发进阶(二十四) :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
}
});
}
}
})
五、拓展阅读
边栏推荐
- 微信公众号订阅消息 wx-open-subscribe 的实现及闭坑指南
- 点云重建方法汇总一(PCL-CGAL)
- Redis秒杀demo
- MySQL backup and restore single database and single table
- Introduction to MySQL audit plug-in
- Is JPMorgan futures safe to open an account? What is the account opening method of JPMorgan futures company?
- Task. Run(), Task. Factory. Analysis of behavior inconsistency between startnew() and new task()
- Logical analysis of automatic decision of SAP CRM organization model
- 6.2 normalization 6.2.6 BC normal form (BCNF) 6.2.9 normalization summary
- 【一天学awk】条件与循环
猜你喜欢

Phpcms background upload picture button cannot be clicked

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

Reading notes of top performance version 2 (V) -- file system monitoring

MySQL backup and restore single database and single table

【LeetCode】16、最接近的三数之和

Summary of point cloud reconstruction methods I (pcl-cgal)

Zhang Chi's class: several types and differences of Six Sigma data
![[one day learning awk] conditions and cycles](/img/e6/c96a4fd6ced9b492e70a06004f5159.png)
[one day learning awk] conditions and cycles

MySQL 服务正在启动 MySQL 服务无法启动解决途径

Stm32f4-tft-spi timing logic analyzer commissioning record
随机推荐
[cloud trend] new wind direction in June! Cloud store hot list announced
Logical analysis of automatic decision of SAP CRM organization model
【目标跟踪】|STARK
[one day learning awk] conditions and cycles
采集数据工具推荐,以及采集数据列表详细图解流程
张驰咨询:锂电池导入六西格玛咨询降低电池容量衰减
【锁】Redis锁 处理并发 原子性
Create employee data in SAP s/4hana by importing CSV
Skywalking 6.4 distributed link tracking usage notes
Sort out the four commonly used sorting functions in SQL
Don't ask me again why MySQL hasn't left the index? For these reasons, I'll tell you all
Recommendation of data acquisition tools and detailed graphic process of data acquisition list
S32K1xx 微控制器的硬件设计指南
The solution to turn the newly created XML file into a common file in idea
Beilianzhuguan joined the dragon lizard community to jointly promote carbon neutralization
22-06-26周总结
Returning to the top of the list, the ID is still weak
Basic use process of cmake
【一天学awk】函数与自定义函数
Connect the ABAP on premises system to the central inspection system for custom code migration