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

关于前端如何下载后端接口返回content-type为application/octet-stream的文件

关于前端如何下载后端接口返回response-type为application/octet-stream的文件

问题描述

后端接口定义为直接返回一个文件,如果带认证信息可以直接通过浏览器url下载,但是接口需要传headers认证信息,url上又不支持传相关信息
在这里插入图片描述
在这里插入图片描述

解决

前端正常请求接口,设置responseType值为blob,这样取到接口返回的数据为Blob类型,之后通过由blob数据创建一个指向类型数组的URL来完成文件下载

打印出来的返回值:
在这里插入图片描述

const data = await request(`/api/xxx`, {
    method: 'get',
    responseType: 'blob',
})
const blob = new Blob([data])
const fileLink = document.createElement('a') //创建一个a标签通过a标签的点击事件区下载文件
fileLink.download = 'import_example.jsonl.gzip'
fileLink.style.display = 'none'
fileLink.href = URL.createObjectURL(blob) //使用blob创建一个指向类型数组的URL
document.body.appendChild(fileLink)
fileLink.click()
URL.revokeObjectURL(fileLink.href) // 释放URL 对象
document.body.removeChild(fileLink)

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

相关文章:

  • Python作业05
  • Vue学习记录03
  • 速通前端篇 —— HTML
  • Electron 沙盒模式与预加载脚本:保障桌面应用安全的关键机制
  • cmake生成器表达式
  • python的matplotlib实现数据分析绘图
  • linux find命令搜索日志内容
  • leetcode_39 组合总和
  • J2EE项目部署与发布(Windows版本)
  • windows 设置nginx、redis、jar包开机自启、mysql自动备份
  • cleanmymacX4.14免费版mac清除浏览器缓存软件
  • Ocelot简易教程目录
  • 大数据Flink(一百零二):SQL 聚合函数(Aggregate Function)
  • 使用Selenium和Java编写爬虫程序
  • Sql Server中的表组织和索引组织(聚集索引结构,非聚集索引结构,堆结构)
  • Python----break关键字对while...else结构的影响
  • 【软考系统架构设计师】2023年系统架构师冲刺模拟习题之《软件工程》
  • oracle19c配置驱动
  • DoLa:对比层解码提高大型语言模型的事实性
  • 第三篇:实践篇 《使用Assembler 实现图片任意切割功能》
  • 企业信息集成
  • 36基于matlab的对分解层数和惩罚因子进行优化
  • Tomcat的动静分离
  • spring监听请求执行结束,移除当前ThreadLocal数据两种方法
  • CFD模拟仿真理论知识:流体仿真应用
  • tmux和vim