当前位置: 首页 > article >正文

vue elementui 大文件进度条下载

在这里插入图片描述

下载进度条

<el-card class="box-card" v-if="downloadProgress > 0">
	<div>正在下载文件...</div>
	<el-progress :text-inside="true" :stroke-width="26" :percentage="downloadProgress" status="success"></el-progress>
</el-card>

下载方法

downloadFile(row) {
   const xhr = new XMLHttpRequest();
   xhr.open('GET', row.certificatePdf, true);
   xhr.responseType = 'blob';

   // 监听下载进度
   xhr.onprogress = (event) => {
       if (event.lengthComputable) {
           this.downloadProgress = Math.floor((event.loaded / event.total) * 100);
       }
   };

   // 下载完成
   xhr.onload = () => {
       if (xhr.status === 200) {
           const blob = xhr.response;
           const link = document.createElement('a');
           link.href = window.URL.createObjectURL(blob);
           link.download = row.certificateName + '.pdf';
           document.body.appendChild(link);
           link.click();
           document.body.removeChild(link);
           this.downloadProgress = 0; // 重置进度条
       }
   };

   // 错误处理
   xhr.onerror = () => {
       console.error('下载失败');
       this.downloadProgress = 0; // 重置进度条
   };

   xhr.send();
},

.box-card {
  position: fixed;
  right: 20px;
  top: 100px;
  width: 300px;
  font-size: 12px;
}

http://www.kler.cn/a/473472.html

相关文章:

  • api开发如何在代码中使用京东商品详情接口的参数?
  • 决定系数(R²分数)——评估回归模型性能的一个指标
  • 用python 进行雷电接口检测
  • C# 实现 gRPC 进程间通讯:两台设备的数据交换之道
  • Redis Java 集成到 Spring Boot
  • Keepalived 进阶秘籍:全方位配置优化
  • Sql 创建用户
  • 语义分割数据集介绍——Camvid和Cityscapes介绍
  • 数据结构与算法之二叉树: LeetCode 107. 二叉树的层序遍历 II (Ts版)
  • GRE技术的详细解释
  • MySQL中深度分页问题的优化
  • 大数据技术-Hadoop(四)Yarn的介绍与使用
  • 稀疏子空间聚类 SSC(Sparse Subspace Clustering)
  • halcon三维点云数据处理(七)find_shape_model_3d_recompute_score
  • vulnhub靶场【DC系列】之6
  • Ubuntu18.04离线安装audit
  • vue -关于浏览器localstorge数据定期清除的实现
  • Windchill SQL 篇之 分类特征值相关
  • 什么时候用synchronized?什么时候用分布式锁?
  • Spring Boot 集成 Easysearch 完整指南
  • 老牌工具,16年依然抗打!
  • 【Java基础】使用Apache POI和Spring Boot实现Excel文件上传和解析功能
  • Linux下文件操作相关接口
  • 备考蓝桥杯:顺序表相关算法题
  • 软件工程实验-实验2 结构化分析与设计-总体设计和数据库设计
  • 数据库第一次作业-----数据库的多种部署方式