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

博客地址:https: ainyi.com 解释 背景 看到标题有点懵逼,哈哈,实际上是后端将文件处理成二进制流,返回到前端,前端处理这个二进制字符串,输出文件或下载 最近公司有个需求是用户在点击下载文件 pdf 的时候,下载地址不能暴露在接口的返回值,前端不要通过这个地址下载,容易发生泄露,不安全。所以经过讨论,就在后端根据文件地址直接转成二进制流形式,返回给前端合并,再进行下载 文件转换二进制 ...

2019-01-08 23:59 0 5183 推荐指数:

查看详情

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

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

Sat Dec 11 00:39:00 CST 2021 0 160
[JavaScript] 使用ArrayBuffer和Blob编辑二进制 下载文件

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

Mon Aug 13 21:22:00 CST 2018 0 2020
后端返回二进制文件,前端处理下载

处理逻辑:获取返回文件,通过 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
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