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

比如前后端约定,下载成功返回二进制流,下载失败返回对象 code: , msg: 失败原因 问题:当下载文件时,axios配置responseType: blob ,此时后台返回的数据会被强制转为blob类型 如果后台返回失败对象,前端也无法得知,如果按正常处理会得到名为undefined的文件。 解决:在try代码块里面尝试将axios已经转成blob格式的res转回json格式,如果不报错说明 ...

2021-12-10 16:39 0 160 推荐指数:

查看详情

利用 Blob 处理 node 层返回二进制文件字符串并下载文件

博客地址:https://ainyi.com/65 解释 | 背景 看到标题有点懵逼,哈哈,实际上是后端将文件处理二进制返回前端前端处理这个二进制字符串,输出文件下载 最近公司有个需求是用户在点击下载文件(pdf)的时候,下载地址不能暴露在接口的返回值,前端不要通过这个地址下载 ...

Wed Jan 09 07:59:00 CST 2019 0 5183
后端返回二进制文件前端处理下载

处理逻辑:获取返回文件,通过 Blob 对象构造文件下载。 function download(data, filename, type="application/vnd.ms-excel") { let file = new Blob([data], { type ...

Thu Dec 03 23:25:00 CST 2020 0 500
前端处理后端接口返回二进制数据下载文件

1、首先看没处理时接口返回的数据,会发现是乱码的。。。 2、解决乱码需要在请求接口时,加上配置responseType: 'blob',例如在vue中使用axios的http请求 加上之后返回的数据就是这样的 3、接下来就是处理数据文件下载 ...

Sat Feb 26 00:04:00 CST 2022 0 2196
[JavaScript] 使用ArrayBuffer和Blob编辑二进制 下载文件

   ArrayBuffer又称类型化数组。 数组里面可以放数字、字符串、布尔值以及对象和数组等,ArrayBuffer放0和1组成的二进制数据 数组放在堆中,ArrayBuffer则把数据放在栈中(所以取数据时后者快) ArrayBuffer初始化后固定大小,数组则可以自由增减 ...

Mon Aug 13 21:22:00 CST 2018 0 2020
Axios发送请求下载文件(重写二进制文件)

axios正常发送请求下载excel会出现以下问题,即将二级制文件下载到了本地,下附解决办法: 一、实现思路: 这类方法思路如下: 1. 使用js在页面常见a标签 2. 创建Blob对象, 在Blob中传入后端返回的response.data 这一步中Blob需要的是一个 ...

Sat Sep 26 00:38:00 CST 2020 0 3899
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM