uniapp——App 监听下载文件状态,打开文件(三)
5+ 实现下载文件并打开
这里演示,导出Excel 表格
文章目录
- 5+ 实现下载文件并打开
- DEMO
- 监听下载进度效果图
- 为什么 totalSize 一直为0?
相关Api:
downloader
DEMO
提示:
- 请求方式支持:GET、POST;POST 方式需要设置
Content-Type; - 暂停下载任务: dtask.pause();
- 取消下载任务:dtask.abort();
- 监听下载文件:实时状态,根据个人所需可以在页面上添加进度条等UI效果;
h5PlusDownloadFile() {let header = {token: getToken(),'Content-Type': 'application/json' // 设置 POST 请求提交的数据类型为JSON字符串}// 下载任务的参数let options = {method: 'POST',filename: `_doc/test_${new Date().getTime()}.xlsx` // 支持以"_downloads/"、"_doc/"、"_documents/"开头}// 创建下载任务let url = 'https://xxx/export';var dtask = plus.downloader.createDownload(url, options, (d, status) => {console.log('下载完成', d, status);if(status == 200){ console.log("Download success: " + d.filename);uni.showToast({title: '下载成功'})// 打开指定的文件plus.runtime.openFile(options.filename);} else {console.log("Download failed: " + status); uni.showToast({title: '下载失败',icon: 'error'})plus.downloader.clear(); // 清除下载任务} })// 设置下载请求头数据Object.keys(header).forEach((key) => {dtask.setRequestHeader(key, header[key]);})// 监听下载任务状态,根据个人所需 实现进度条等dtask.addEventListener("statechanged", this.onStateChanged, false);// 开始下载dtask.start();
},
onStateChanged(download, status) {// Download对象管理一个下载任务console.log('监听下载状态--->文件的总大小/已完成下载文件的大小:', download.totalSize, download.downloadedSize);if(download.state == 4 && status == 200){// 下载完成 console.log("onStateChanged Download success: " + download.getFileName()); }
},
监听下载进度效果图
- 截取后面部分效果图

为什么 totalSize 一直为0?
- 下载任务开始传输数据时更新,在此之前其值为0。 此值是从HTTP协议的
Content-Length中获取,如果服务器未返回Content-Length数据则此值始终为0;
相关文章:
uniapp——App 监听下载文件状态,打开文件(三)
5 实现下载文件并打开 这里演示,导出Excel 表格 文章目录 5 实现下载文件并打开DEMO监听下载进度效果图为什么 totalSize 一直为0? 相关Api: downloader DEMO 提示: 请求方式支持:GET、POST;POST 方式需要…...
循环队列(C语言)
从今天开始我会开启一个专栏leetcode每日一题,大家互相交流代码经验,也当作我每天练习的自我回顾。第一天的内容是leetcode622.设计循环队列。 一、题目详细 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO&#…...
数据可视化:让数据讲故事的艺术
目录 1 前言2 数据可视化的基本概念2.1 可视化的核心目标2.2 传统可视化手段 3 数据可视化在知识图谱中的应用3.1 知识图谱的可视化需求3.2 知识图谱的可视化方法 4 数据可视化叙事:让数据讲故事4.1 叙事可视化的关键要素4.2 数据可视化叙事的实现方法 5 数据可视化…...
雷电9最新版安装Magisk+LSPosd(新手速通)
大家好啊!我是NiJiMingCheng 我的博客:NiJiMingCheng 在安卓系统的定制与拓展过程中,获取 ROOT 权限以及安装各类框架是进阶玩家常用的操作,这可以帮助我们实现更多系统层面的个性化功能。今天,我将为大家详细介绍如何…...
Ubuntu 24.04 LTS 开启 SMB 服务,并通过 windows 访问
Ubuntu 24.04 LTS 背景资料 Ubuntu服务器折腾集Ubuntu linux 文件权限Ubuntu 空闲硬盘挂载到 文件管理器的 other locations Ubuntu开启samba和window共享文件 Ubuntu 配置 SMB 服务 安装 Samba 确保 Samba 已安装。如果未安装,运行以下命令进行安装ÿ…...
使用Websocket进行前后端实时通信
1、引入jar,spring-websocket-starter <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency> 2、配置websocket config import org.springframe…...
vue2使用flv.js在浏览器打开flv格式视频
组件地址:GitHub - bilibili/flv.js: HTML5 FLV Player flv.js 仅支持 H.264 和 AAC/MP3 编码的 FLV 文件。如果视频文件使用了其他编码格式就打不开。 flv.vue <template><div><el-dialog :visible.sync"innerVisibleFlv" :close-on-pre…...
OpenCV相机标定与3D重建(61)处理未校准的立体图像对函数stereoRectifyUncalibrated()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 为未校准的立体相机计算一个校正变换。 cv::stereoRectifyUncalibrated 是 OpenCV 库中的一个函数,用于处理未校准的立体图像对。该函…...
[cg] glProgramBinary
参考: glProgramBinary - OpenGL 4 Reference Pages opengl 通过gpu编译好的 shader 可以存储到二进制文件中,第二次使用的时候直接加载二进制文件即可, glProgramBinary用于加载shader的二进制数据 实列代码如下: // 假设已经…...
LeetCode hot 力扣热题100 二叉树的最大深度
class Solution { public:int maxDepth(TreeNode* root) {if (root nullptr) {return 0;}int l_depth maxDepth(root->left);int r_depth maxDepth(root->right);return max(l_depth, r_depth) 1;} }; 代码作用 该函数通过递归计算二叉树的最大深度(从根节…...
速通Docker === 网络
目录 Docker网络详解 容器之间直接通信的弊端 (一)启动容器 (二)进入容器并发起请求 (三)请求流程 (四) 弊端分析 一、Docker网络基础 (一)容器IP分配…...
【MySQL — 数据库基础】深入解析MySQL常用数据类型
常用数据类型 创建完数据库之后,就要在数据库中创建表,表中存储的数据记录,一条记录由不同的列组成,每条列都需要自己的类型;并且表中的多个行对应的列的数据类型,都必须是相同的; 那么每个…...
Linux高级--3.3.1 C++ spdlog 开源异步日志方案
一、基本介绍 spdlog 是由 Gustav S. 在 2015 年开发的一个高性能 C 日志库。开发这个库的主要目的是为了提供一个非常快速、轻量、易于使用的日志工具,特别适合需要高性能、低延迟日志记录的 C 应用程序。(由于源码现在比较难下载,我把压缩…...
电梯系统的UML文档05
Dispatcher 不控制实际的电梯组件,但它在软件系统中是重要的。每一个电梯有一个ispatcher,主要功能是计算电梯的移动方向、移动目的地以及保持门的打开时间。它和系统中除灯控制器以外的几乎所有控制对象交互。 安全装置也是一个环境对象,它…...
如何使 LLaMA-Factory 支持 google/gemma-2-2b-jpn-it 的微调
如何使 LLaMA-Factory 支持 google/gemma-2-2b-jpn-it 的微调 追加, "Gemma-2-2B-JPN-Instruct": {DownloadSource.DEFAULT: "google/gemma-2-2b-jpn-it",},修改 constants.py, vi ./src/llamafactory/extras/constants.py---"…...
MySQL中日期和时间戳的转换:字符到DATE和TIMESTAMP的相互转换
在MySQL中,经常需要在 DATE、TIMESTAMP 和字符串之间进行相互转换。以下是一些常见的转换方法: 1. 字符串到日期/时间类型 字符串转 DATE: 使用 STR_TO_DATE() 函数将字符串转换为 DATE 类型。你需要提供字符串的格式。 SELECT STR_TO_DATE(2024-08-24,…...
HarmonyOS NEXT开发进阶(十):UIAbility 组件交互
文章目录 一、前言二、启动应用内的 UIAbility三、启动应用内的UIAbility并获取返回结果四、启动其他应用的UIAbility五、启动其他应用的 UIAbility 并获取返回结果六、启动 UIAbility 的指定页面6.1 调用方 UIAbility 指定启动页面6.2 目标 UIAbility 首次启动6.3 目标UIAbili…...
深入探索Math.NET:开启高效数值计算之旅
一、引言 在当今数字化时代,数值计算已然成为科学研究、工程设计、金融分析等众多领域的核心驱动力。从探索宇宙奥秘的物理学计算,到优化建筑结构的土木工程设计,再到预测市场趋势的金融建模,数值计算的身影无处不在,…...
AI编程工具横向评测--Cloudstudio塑造完全态的jupyter notebook助力数据分析应用开发
AI编程工具横向评测–Cloudstudio塑造完全态的jupyter notebook助力数据分析应用开发 数据分析类应用的开发,指的是首先进行数据分析,比如统计学分析、机器学习模型的构建等,然后将分析的流程开发成数据分析类的工具,或者将数据分…...
【2024 CSDN博客之星】技术洞察类:从DeepSeek-V3的成功,看MoE混合专家网络对深度学习算法领域的影响(MoE代码级实战)
目录 一、引言 1.1 本篇文章侧重点 1.2 技术洞察—MoE(Mixture-of-Experts,混合专家网络) 二、MoE(Mixture-of-Experts,混合专家网络) 2.1 技术原理 2.2 技术优缺点 2.3 业务代码实践 2.3.1 业务场…...
2025最权威的六大降AI率平台实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在学术写作这块领域当中,AI论文工具正一步步地变成研究者的得力助手,…...
C# 14 原生 AOT 编译 Dify 客户端到底难在哪?92%候选人栽在第4个内存模型问题上(AOT冷启动真相)
第一章:C# 14 原生 AOT 编译 Dify 客户端面试概览C# 14 引入的原生 AOT(Ahead-of-Time)编译能力,为构建轻量、启动极速、无运行时依赖的 Dify 客户端提供了全新路径。与传统 JIT 或托管 AOT 不同,原生 AOT 可将 C# 代码…...
上班多年后才知道,原来提完离职后,第二天公司就同意你走,不是人情味,而是铜臭味。
昨天有个前同事找我喝酒,说提了离职,原本做好了交接一个月的心理准备。结果第二天HR就笑眯眯地跑来,说工作已经安排人接手,今天办完手续就可以走人了。这哥们感动坏了,觉得公司通情达理,不耽误他去下家报到…...
万字拆解 LLM 运行机制:Token、上下文与采样参数壤
springboot自动配置 自动配置了大量组件,配置信息可以在application.properties文件中修改。 当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类ÿ…...
边缘计算与AI推理:在终端设备上部署模型的挑战
边缘AI部署的测试价值重构随着AI推理任务从云端下沉至终端设备,软件测试的战场正经历根本性变革。边缘计算通过将模型部署于摄像头、工业传感器、车载终端等设备,实现了毫秒级响应的实时决策能力。据行业预测,2026年全球边缘AI设备市场规模将…...
算力 GPU 驱动实战总结:SVM Eviction Fence 设计思想与实现细节
1. 问题背景 1.1 STALE _mapcount 问题 在 VRAM 超量分配(overcommit)场景下,当 GPU VRAM 被占满时,TTM 内存管理器需要驱逐(evict)旧的 BO 来为新的分配腾出空间。 问题:对于 SVM(S…...
论文阅读:ICLR 2026 GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning
总目录 大模型相关研究 2025版:https://blog.csdn.net/WhiffeYF/article/details/142132328 总目录 大模型安全研究论文整理 2026年版:https://blog.csdn.net/WhiffeYF/article/details/159047894 https://openreview.net/forum?idRQm2KQTM5r GEPA&a…...
向上生长,智赢未来 | 优美优品2026经销商大会圆满
引言2026年3月18日,一个看似平常的日子。但对优美优品而言,这是值得被标记的一天。全国各地的经销商伙伴跨越山海,奔赴而来。他们不是来参加一场普通的年度会议,而是来寻找一个答案。当房地产下行、消费信心不足、行业加速洗牌&am…...
记一次Webshell流量分析 | 添柴不加火谛
1. 哑铃图是什么? 哑铃图(Dumbbell Plot),有时也称为DNA图或杠铃图,是一种用于比较两个相关数据点的可视化图表。 它源于人们对更有效数据比较方式的持续探索。 在传统的时间序列比较中,我们通常使用两条折…...
终极Windows Defender移除指南:3步彻底禁用微软安全组件,性能飙升30%
终极Windows Defender移除指南:3步彻底禁用微软安全组件,性能飙升30% 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://g…...
