IT评测·应用市场-qidao123.com
标题:
vue elementui 大文件进度条下载
[打印本页]
作者:
慢吞云雾缓吐愁
时间:
2025-1-11 04:39
标题:
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;
}
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4