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

vue中后端返回数据流,前端实现导出下载

适用于需要验证请求头或者除了get的其他请求,如果单纯不需要验证请求头的get请求可以直接使用a标签下载
js接口请求

export function riskDownload(params) {return request({url: '接口路径',method: 'get',responseType: 'blob',selfAreaCode: true,params})
}

处理请求回来的数据流实现下载

let params={...}
riskDownload(params).then((res) => {let name = this.tabs.filter(item => item.value == this.active)[0].labelvar blob = new Blob([res], { type: res.type }) // application/vnd.openxmlformats-officedocument.wordprocessingml.document这里表示doc类型var href = window.URL.createObjectURL(blob) // 创建下载的链接if (window.navigator.msSaveBlob) {try {window.navigator.msSaveBlob(blob, name)} catch (e) {console.log(e)}} else {// 谷歌浏览器 创建a标签 添加download属性下载var downloadElement = document.createElement('a')downloadElement.href = hrefdownloadElement.target = '_blank'downloadElement.download = name // 下载后文件名document.body.appendChild(downloadElement)downloadElement.click() // 点击下载document.body.removeChild(downloadElement) // 下载完成移除元素window.URL.revokeObjectURL(href) // 释放掉blob对象}})},
http://www.dtcms.com/a/283216.html

相关文章:

  • 等价关系与不变量
  • Web3:Solidity入门到精通
  • cdr序列化与反序列化
  • SenseGlove力反馈手套:医疗、生产制造、军事模拟与远程机器人控制新革命
  • 【AI交叉】化学:人工智能如何重塑现代化学研究?
  • 谷歌引入开源全栈 AI 代理栈:借助 Gemini 2.5 和 LangGraph 实现多步网络搜索、反思与综合
  • NMS代码详解(数据维度变换解析)
  • 格密码--Ring-SIS和Ring-LWE
  • 架构解密|一步步打造高可用的 JOCR OCR 识别服务
  • oracle会话控制和存储状态查询
  • pyqt当中splitter.setSizes()不生效
  • C++中vector和list的优缺点对比以及deque
  • PowerJob集群机器数为0问题
  • Python第八章作业(初级)
  • 如何使用VScode使用ssh连接远程服务器不需要输入密码直接登录
  • 27.Hamming 距离
  • transformers基础Data Collator
  • 教程:如何快速查询 A 股实时 K线和5档盘口
  • 今日行情明日机会——20250716
  • Redis深度解析:从缓存到分布式系统的核心引擎
  • 用python实现自动化布尔盲注
  • pytest--1--pytest-mock常用的方法
  • 代码随想录day36dp4
  • 震坤行获取商品SKU操作详解
  • 16路串口光纤通信FPGA项目实现指南
  • Kotlin获取集合中的元素操作
  • Java与Vue精心打造资产设备管理系统,提供源码,适配移动端与后台管理,助力企业高效掌控资产动态,提升管理效能
  • 【Java】JUC并发(synchronized进阶、ReentrantLock可重入锁)
  • 二重循环:输入行数,打印直角三角形和倒直角三角形
  • Java后端开发核心笔记:分层架构、注解与面向对象精髓