vue elementui 大文件进度条下载功能实现
更新时间:2025年01月13日 10:56:49 作者:RW~
本文介绍了如何使用下载进度条来展示下载进度的方法,并展示了相关的效果图,结合实例代码介绍了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;
}到此这篇关于vue elementui 大文件进度条下载功能实现的文章就介绍到这了,更多相关vue elementui 进度条下载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
关于element el-input的autofocus失效的问题及解决
这篇文章主要介绍了关于element el-input的autofocus失效的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-12-12
浅谈Vue2.0中v-for迭代语法的变化(key、index)
下面小编就为大家分享一篇浅谈Vue2.0中v-for迭代语法的变化(key、index),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-03-03
关于Vue3父子组件emit参数传递问题(解决Vue2this.$emit无效问题)
相信很多人在利用事件驱动向父组件扔东西的时候,发现原来最常用的this.$emit咋报错了,竟然用不了了,下面通过本文给大家分享关于Vue3父子组件emit参数传递问题(解决Vue2this.$emit无效问题),需要的朋友可以参考下2022-07-07
Vue3 setup的注意点及watch监视属性的六种情况分析
这篇文章主要介绍了Vue3 setup的注意点及watch监视属性的六种情况,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-04-04


最新评论