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

关于前端如何下载后端接口返回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.lryc.cn/news/205064.html

相关文章:

  • 报错:SSL routines:ssl3_get_record:wrong version number
  • Flask后端开发(一)-基础知识和前期准备
  • 基于SSM的幼儿园管理系统
  • 互联网Java工程师面试题·Spring篇·第三弹
  • 前端(二十三)——轮询和长轮询
  • uniapp把文件中的内复制到另一个文件中
  • 什么是蓝桥杯?什么是蓝桥STEMA考试?
  • 快递排序Java
  • Spark简单回顾
  • DDD与微服务的千丝万缕
  • S32K324 UDS Bootloader开发-需求篇
  • 【前端设计模式】之调停者模式(中介者模式)
  • 【MySQL架构篇】SQL执行流程与缓冲池
  • [support2022@cock.li].faust、[tsai.shen@mailfence.com].faust勒索病毒数据怎么处理|数据解密恢复
  • 力扣学习笔记——49. 字母异位词分组
  • 五、Qt中的常用类
  • CentOS 7.9.2009 数据盘挂载
  • cv::solvePnP使用方法及注意点详解(OpenCV/C++)
  • DevOps持续集成-Jenkins(4)
  • 【数据仓库-零】数据仓库知识体系 ing
  • css3 3D 转换 技巧详细解析与代码实例
  • [Unity]给场景中的3D字体TextMesh增加描边方案一
  • TDengine(taos)数据库导出历史数据
  • 算法进修Day-37
  • 服务器之日常整活
  • 交互式 Web 应用 0 基础入门
  • JSONP的安全性较差,那么在跨域情况下,有没有其他更安全的替代方案呢?
  • Slax Linux 获得增强的会话管理和启动参数选项
  • C/C++新冠疫情死亡率 2020年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
  • Adobe Photoshop 基本操作