原文:axios请求设置responseType为'blob'或'arraybuffer'下载时,正确处理返回值

问题:调用后台图片接口,后台返回二进制流图片数据格式。前端接收到流后处理数据显示在img标签。 解决: 先设置axios接收参数格式为 arraybuffer : 转换为base 格式图片数据在img标签显示: 返回的string直接放在img标签src可直接显示 先设置axios接收参数格式为 blob : 通过a标签下载文件 前言 使用axios请求api下载导出一个文件时,接口返回值可能会 ...

2021-09-30 17:46 0 696 推荐指数:

查看详情

axios设置responseType之后仍然接收不到正确Blob对象

  有些项目导出功能是通过Blob对象实现的,代码差不多可能大概类似长这个样子:   其中,关键语句就是responseType。它表示的是服务器响应的数据类型,正常能获取到的响应体res打印出来大致是这样的,如图1所示: 图1 正确Blob对象   但是如果设置 ...

Sat Aug 01 00:53:00 CST 2020 0 3097
vue+axios实现文件下载——请求responseTypeblob

vue+axios实现文件下载 功能:点击导出按钮,提交请求下载excel文件; 第一步:跟后端童鞋确认交付的接口的response header设置了 以及返回了文件流。 第二步:修改axios请求 ...

Fri Dec 04 04:31:00 CST 2020 0 2685
导出接口设置responseType: 'blob'当失败处理方法

axios设置instance.defaults.responseType = 'blob请求下载导出一个文件,请求成功返回的是一个流形式的文件,正常导出文件。但是请求失败的时候后端返回的是json ,不会处理错误信息,而是直接导出包含错误信息的文件。这样拿到data中的数据就只有size ...

Wed Mar 30 00:43:00 CST 2022 0 1502
文件流转换(一般用于axios设置接收文件流设置responseType: 'blob')

  文件流转换 一般用于axios设置接收文件流设置responseType: 'blob'当接口报错,前端因已设置responseType: 'blob'无法再接收json格式数据,会把json格式数据转为blob格式,而到了这里拦截器已无法识别blob进而无法对blob数据进行拦截 ...

Sat Jul 10 23:08:00 CST 2021 0 156
axios下载文件(responseType:‘blob‘),判断是下载成功返回了二进制流还是失败返回了对象(比如服务端拒绝,返回对象,前端如果依然按二进制流处理会导致下载undefined文件)

比如前后端约定,下载成功返回二进制流,下载失败返回对象{code: 0, msg: ‘失败原因’} 问题:当下载文件axios配置responseType: ‘blob’,此时后台返回的数据会被强制转为blob类型;如果后台返回失败对象,前端也无法得知,如果按正常处理会得到名为 ...

Sat Dec 11 00:39:00 CST 2021 0 160
Vue项目axios请求设置responseType无效

Vue中有导出功能,是通过流来下载文件,但是下载后表格文件打不开,格式有误; 因为流文件下载需要设置responseType = 'blob',但是看控制台接口找不到这个属性,接口返回data也是一堆乱码,什么鬼。。。 用了两个小时的时间,终于找到了原因,实测可行:因为项目 ...

Thu Aug 12 22:12:00 CST 2021 0 278
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM