axios配置 responseType: “blob“

在使用 Axios 进行网络请求时,配置 responseType: "blob" 是用来指示 Axios 将响应体作为 Blob 对象处理。这在文件下载功能中特别有用,因为 Blob 对象可以被用来创建一个指向该文件内容的 URL,进而触发浏览器的下载行为或者在页面上展示文件内容(如图片预览)。下面是使用此配置的一些关键点和示例:

为什么需要设置 responseType: "blob"

  • 文件下载:当后端返回的是一个文件的二进制流(如PDF、图片、文档等),前端需要将其解析为文件并提供下载。Blob 对象能够直接处理这种二进制数据,从而实现文件的下载。

  • 处理大文件或流式数据:对于大文件或希望边下载边处理的数据,使用 Blob 可以更高效地处理数据流,避免内存溢出。

示例代码

以下是一个使用 Axios 下载文件的简单示例:

axios({url: 'your-file-url',method: 'get',responseType: 'blob', // 关键配置,指定响应类型为 Blob
}).then((response) => {// 创建一个隐藏的可下载链接const url = window.URL.createObjectURL(new Blob([response.data]));const link = document.createElement('a');link.href = url;link.setAttribute('download', 'filename.ext'); // 设置文件名document.body.appendChild(link);// 触发点击link.click();// 清理document.body.removeChild(link);window.URL.revokeObjectURL(url);
}).catch((error) => {console.error('下载文件时发生错误:', error);
});

注意事项

  • 错误处理:如果后端返回的是错误信息而不是预期的文件流,并且你已经设置了 responseType: "blob", 前端可能无法直接通过JSON.parse来解析错误信息,因为响应已经被转换成了 Blob。这种情况下,你可能需要在后端设计上确保错误信息以特定格式(例如,仍然以JSON格式但作为Blob的一部分)返回,或者在前端通过其他机制(如检查HTTP状态码)来识别和处理错误。

  • 资源管理:记得使用 URL.revokeObjectURL(url) 来释放创建的URL对象,避免内存泄漏。

通过上述配置和示例,你可以有效地利用 Axios 下载各种类型的文件,同时注意错误处理和资源管理,以保证用户体验和应用性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/9464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

融入新科技的SLM27211系列 120V, 3A/4.5A高低边高频门极驱动器兼容UCC27284,MAX15013A

SLM27211是高低边高频门极驱动器,集成了120V的自举二极管,支持高频大电流的输出,可在8V~17V的宽电压范围内驱动MOSFET,独立的高、低边驱动以方便控制,可用于半桥、全桥、双管正激和有源钳位正激等拓。有极好的开通、关…

Python入门系列-02 pip的安装

目录 一、pip介绍二、pip安装检查三、pip安装 一、pip介绍 pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。 二、pip安装检查 你可以通过以下命令来判断是否已安装。 pip --version # Python2.x 版本命令 pip3 --versio…

新能源汽车为什么容易自燃

新能源汽车容易自燃的原因: 电池特性: 新能源汽车通常采用锂离子电池作为能源存储装置,这种电池具有高能量密度和高功率特性,但同时也存在一定的安全隐患。锂离子电池在受到损坏、过充、过放、过热或短路等情况下,可能…

二叉树的广度优先遍历 - 华为OD统一考试(D卷)

OD统一考试(D卷) 分值: 200分 题解: Java / Python / C++ 题目描述 有一棵二叉树,每个节点由一个大写字母标识(最多26个节点)。 现有两组字母,分别表示后序遍历(左孩子->右孩子->父节点)和中序遍历(左孩子->父节点->右孩子)的结果,请输出层次遍历的结…

《前端算法宝典:双指针问题解析与应用》

双指针 双指针,指的是在遍历对象的过程中使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针或者是两个指针构成一个滑动窗口进行扫描,从而达到相应的目的。 双指针方法在某些情况下可以对有序数组…

IDM下载器激活

文章目录 1、Internet Download Manager简介2、Internet Download Managery应用3、Internet Download Managery下载 1、Internet Download Manager简介 Internet Download Manager (IDM) 是一款功能强大的下载管理软件,旨在帮助用户更高效地管理和加速其下载任务。它…

【ITK配准】第十三期 FEM可变形配准样例

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享ITK配准中的FEM可变形配准样例,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO FEM可变形配准…

产业互联网助力预制菜出海 云创科技数据资产入表获批融资500万 新能源装备新质供应链创新协同平台启动 | 产业互联网观察第173期

产业互联网助力预制菜迈向国际市场 在第135届广交会上,一场聚焦“产业互联网赋能预制菜出海”的高端对话会隆重举办。本次活动由中国食品土畜进出口商会主办,云食界网络科技有限公司承办,吸引了众多政府领导、行业专家和企业代表参与。各界共…

MATLAB模拟退火算法、遗传算法、蚁群算法、粒子群算法

概况 模拟退火算法、遗传算法、蚁群算法、粒子群算法等算法,都是属于概率算法,不绝对,不迅速,能用其它方式解决的问题,不要用这些相对复杂的算法,比如有明确的线性关系或者非线性对应关系。这里的概率算法…

流程详解!2024年成都市发明专利申请流程及各阶段操作要点

一、受理阶段 时间期限: 电子申请2天内,纸质申请当天现场提交,邮寄约为半月。 申请人: 1. 委托专利代理机构,签订委托代理协议和保密协议等; 2. 提供原始技术资料和个人以及单位信息等; 3…

对于新开发完成的软件来说,做测试需求管理时有哪些难点系带我们解决?

随着互联网行业的进一步发展,时下新推一个项目或业务,复杂性明显大大提升,需求管理再也不单单是做简单的做个记录,然后做个需求文档管理了。因为,随着互联网企业的进一步升级,需求管理中更重要的是体现团队…

解决ssh使用服务器运行代码时中断问题

https://www.cnblogs.com/mchina/archive/2013/01/30/2880680.htmlhttps://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html

【JavaWeb】Servlet+JSP+EL表达式+JSTL标签库+Filter过滤器+Listener监听器

需要提前准备了哪些技术,接下来的课才能听懂? JavaSE(Java语言的标准版,Java提供的最基本的类库) Java的开发环境搭建Java的基础语法Java的面向对象数组常用类异常集合多线程IO流反射机制注解Annotation… MySQL&…

经常睡不好觉?试试用上华为手环9新升级的睡眠监测功能

睡眠问题是不是经常困扰着你呢?听说,华为手环9的睡眠监测功能升级了,无论是入睡前、睡眠中还是睡醒后,都能够帮助我们改善睡眠,让我们告别糟糕的睡眠质量! 睡觉前,打开华为手环9的睡眠模式&…

图表控件LightningChart .NET中文教程 - 创建3D网格模型实时着色应用

LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学…

住房“以旧换新”,后续需要关注啥?

政治局会议提出对房地产“消化存量、优化增量”,地产政策重心或转向去库存,各地住房“以旧换新”政策引发关注。“以旧换新”分为国企收购、市场化交易、购房补贴三种模式,其中国企收购政策力度较大,消化商品房库存增加保障房供给…

【springboot】整合oauth2.0和security,使用图形验证码和邮箱验证码登录

思路 当使用OAuth和Security框架(如Spring Security)进行登录,并且不使用密码而使用验证码时,生成Token的过程通常涉及以下几个步骤: 1.验证码生成与验证: 首先,系统会生成一个图形验证码并将其展示给用户。 用户输入他们看到的验证码。 系统验证用户输入的验证码是否…

杭州全面取消住房限购:楼市政策调整的深意与影响

近日,杭州市政府宣布全面取消住房限购政策,这一决定立即在房地产市场引起了广泛关注。此次政策调整是杭州市响应国家关于房地产市场健康发展的要求,促进市场平稳健康发展的重要举措。 杭州作为中国东部沿海的重要城市,一直以来都…

第4章 处理多种内容类型

4.1 内容类型Content-Type 4.1.1 什么是Content-Type Content-Type是HTTP协议头中的一个字段,它用于描述HTTP请求或响应中所传输的实体数据的媒体类型(MIME类型)。Content-Type告诉客户端和服务器端所传输的数据的实际内容类型,使…

【C++PCL】点云处理SUSAN关键点提取

作者:迅卓科技 简介:本人从事过多项点云项目,并且负责的项目均已得到好评! 公众号:迅卓科技,一个可以让您可以学习点云的好地方 重点:每个模块都有参数如何调试的讲解,即调试某个参数对结果的影响是什么,大家有问题可以评论哈,如果文章有错误的地方,欢迎来指出错误的…