首页IT科技前端数据导出为excel(前端文件导出设置responseType为blob时遇到的问题)

前端数据导出为excel(前端文件导出设置responseType为blob时遇到的问题)

时间2025-09-16 13:34:28分类IT科技浏览4518
导读:一、当我们前端调用导出文件接口时,一般情况都会在请求里添加responseType为blob...

一               、当我们前端调用导出文件接口时               ,一般情况都会在请求里添加responseType为blob

前几天遇到一个问题                      ,后端人员 的这个接口会分别出现两种情况:

1                       、当导出接口请求正常时        ,我们前端会收到一个文件流如下图

 这时我们打印一下接口返回的数据类型        ,发现接口会返回一个blob类型的数据                      ,并且blob中属性type是application/vnd.ms-excel               ,这就说明我们导出的文件类型是excel格式的               。如下图 

BLOB (binary large object)----二进制大对象        ,是一个可以存储二进制文件的容器                      。

说白了blob就是一个二进制的对象                       ,我们可以通过这个blob对象直接读取文件内容               ,但是这时多次一举,我们只需要把相应的blob对象直接以a标签导出就可以了                       ,如下图:

 2

       、当导出接口数据过多后端抛出异常时                       ,如下图 

这时我们在浏览器控制台打印出结果,返现结果还是一个blob对象               ,但是type变成application/json 

我们想要得到接口返回的结果                       ,需要对blob对象进行文件读取        ,我们需要用到FileReader

FileReader 对象允许 Web 应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容               ,使用 File 或 Blob 对象指定要读取的文件或数据        。

我们可以根据blob对象的type属性来判断,当type为application/json时                      ,接口返回的时一个json对象

其中reader.result就是接口返回的结果        ,是一个json字符串需要转换成对象        。 

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
xmpcache是什么文件夹(xmp.exe是什么进程?xmp.exe突然崩溃了?xmp.exe程序文件介绍) 钱宝网事件最新进展(投资钱宝网如何赚钱-关于钱宝网,小司怎么看?)