欢迎来到科站长!

JavaScript

当前位置: 主页 > 网络编程 > JavaScript

Vue如何实现从response读取流下载

时间:2025-07-21 10:14:00|栏目:JavaScript|点击:

Vue从response读取流下载

1、创建公共方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
 * 从response读取流下载
 * @param response 响应体
 * @param suffix 文件后缀名
 */
function downloadBlob(response,suffix){
 
  let fileName = new Date().getTime()+"_"+suffix+'.xlsx'
  let blob = new Blob([response]);//response.data为后端传的流文件
  let url = window.URL.createObjectURL(blob);
  let downloadElement = document.createElement("a");
  downloadElement.style.display = "none";
  downloadElement.href = url;
  downloadElement.download = fileName;
  document.body.appendChild(downloadElement);
  downloadElement.click();
  document.body.removeChild(downloadElement);
  window.URL.revokeObjectURL(url);
}
 
export default {
  downloadBlob
}

2、挂载到Vue原型上

1
2
import blob from '@/utils/blob'
Vue.prototype.$blob = blob

3、使用

1
2
3
4
5
6
7
8
9
10
11
12
/** 导出按钮操作 */
    handleExport() {
      this.$confirm('是否导出所有数据?', "警告", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        }).then(function() {
          return exportData();
        }).then(response => {
          this.$blob.downloadBlob(response,"数据表")
        }).catch(()=>{})
    }

总结


上一篇:Vue3使用Signature Pad实现电子签名功能

栏    目:JavaScript

下一篇:JavaScript双问号操作符(??)的惊人用法总结大全

本文标题:Vue如何实现从response读取流下载

本文地址:https://fushidao.cc/wangluobiancheng/23716.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2025 科站长 版权所有冀ICP备14023439号