1、前端处理后端返回的二进制流文件

var xhr = new XMLHttpRequest();
xhr.open("post", "/download/scoreFile", true);
xhr.responseType = "blob";  //重点:设置接收类型
xhr.onload = function() {if (this.status == 200) {var url = URL.createObjectURL(this.response);var a = document.getElementById("a");if(!a){a = document.createElement("a");a.setAttribute("id", "aElem");document.body.appendChild(a);}a.href = url;a.click();URL.revokeObjectURL(url)}
}
xhr.send();

注意:如果后端接口返回的是二进制流数据,在发送请求时需要设置responseType=‘blob’,否则收到的数据将是乱码。

2、前端处理后端返回的二进制流乱码图片

var xhr = new XMLHttpRequest();
xhr.open("get", "/verify", true);
xhr.responseType = "arraybuffer";  //重点:设置接收类型
xhr.onload = function() {if (this.status == 200) {let img = document.getElementById("img");let imgBase = btoa(new Uint8Array(response.data).reduce((data, byte) => data +String.fromCharCode(byte),'')); //将返回数据转为为base64img.src = 'data:image/jpg|png;base64,' + imgBase}
}
xhr.send();

拓展

URL.createObjectURL(obj) 方法会创建一个 DOMString,这个 URL 的生命周期和创建它的窗口中的 document 绑定。

语法:URL.createObjectURL(obj)

参数说明:obj为 File 对象、Blob 对象或者 MediaSource 对象。​

使用完后,最好调用URL.revokeObjectURL() 释放内存;如果不主动释放内存,浏览器会在页面退出时自动释放。

前端处理后端返回的二进制流文件相关推荐

  1. vue前端怎么下载后端返回的二进制流excel表格文件

    文章目录 应用场景 一.怎么请求接口 二.步骤图片 1.res返回数据 2.url地址 3.download属性 4.a标签 5.返回的原式数据,长这样 总结 应用场景 我对表格数据进行勾选,想要把勾 ...

  2. 微信小程序微信原生小程序如何通过后端返回的二进制流导出excel文件并保存和转发

    因为工作上的原因有这个需求所以记录一下 首先后端返回给我们的数据是这样的,一串二进制流 然后直接上代码吧,注释基本上说的差不多了 wx.request({url: ``, //这个地方是你获取二进制流 ...

  3. vue 后端返回二进制流文件,前端如何实现下载?

    目录 1. axios 请求二进制流文件导出文件 1.1 后台返回的二进制流: 1.2 使用: 1.3 需要注意以下几点: 2. 关于 arraybuffer 和 blob 2.1 ArrayBuff ...

  4. 前端 导出二进制流文件

    前端 导出excel文件 日常项目 会经常碰到 导出pdf excel world 文件,正常来说后端都会返回一个下载链接.前端只需要放到点击事件打开即可,但是有的时候 也会返回一个二进制流文件.看起 ...

  5. IO 操作 (二进制流文件上传下载)

    后台 二进制流 -> 前台blob对象 ->生成 dateUrl->前台 file->dataUrl -blob ->FormData ->后台 java 后台返回 ...

  6. uniapp 下载文件/二进制流数据文件 ,保存文件 ,打开文件。以及H5下载二进制流文件。

    前提注意点 downloadFile 发送的是GET请求. 如果url接口返回的是二进制流数据.则要求后端content-type 里面填写具体的返回文件类型.否则下在的文件会没有后缀名.比如exce ...

  7. 前端将后端返回的带颜色的数据进行转换

    前端将后端返回的带颜色的数据进行转换 因为之前在调用后端接口的时候 后端返给我的数据显示乱码:具体如下图所示: 然后这些数据 在后台显示的是这样的的,如下图所示: 根据以上这三幅图片可以看到有些数据 ...

  8. 微信小程序预览二进制流文件

    开发时使用调试基准库版本 需求 在线预览doc/xls/xlsx/ppt/txt/pdf 的文件和图片. 思路 将后台返回的二进制流,写入微信的文件管理器. 打开文件. 根据文件类型调用不同预览方法 ...

  9. 微信小程序接收二进制流文件(图片预览,文件打开)

    下面通过downloadOaFile接口获取到二进制流,即res.data 注意!!!直接用downloadOaFile获取的二进制流文件在写入时会导致文件损坏,必须在uni.request对象的属性 ...

  10. 前端通过后端返回的url下载图片方法

    前端通过后端返回的url下载图片方法: 1.a标签下载方式: <div class="code-info"><img :src="data.qrCode ...

最新文章

  1. Meta AI发布图音文大一统模型Data2vec,4天在GitHub揽1.5万星
  2. 慎用MySQL replace语句
  3. VMware虚拟机很卡~
  4. VTK:Arbitrary3DCursor用法实战
  5. 贝叶斯定理、显著性检验、p值关系、分类
  6. 集合的定义与并查操作(C语言)
  7. 20210912模拟
  8. leetcode910. 最小差值 II(贪心)
  9. 在mybatis中resultMap与resultType的区别
  10. python 函数 全局变量_python3函数内全局变量使用global
  11. 解决tomcat不支持中文路径的问题
  12. C# Post接收发送XML
  13. noip2019集训测试赛(二)
  14. 按键精灵 android,按键精灵手机版
  15. 都可以看懂的JS轮播图(全代码注释)
  16. 利用RTFtemplate生成rtf报表
  17. 如何提高项目管理效率
  18. iPhone 快捷指令 拼接长图
  19. 用js实现在文本框中检测字数和限制字数功能
  20. linux调整tmp目录,linux – 如何将默认/ tmp更改为/ home / user / tmp

热门文章

  1. python中screen用法_screen的用法
  2. (转)gzip文件格式详解
  3. 关于虚拟机中的HWADDR和MACADDR地址
  4. caption重要性 image_Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型...
  5. 红警2(红色警戒)之尤里的复仇 局域网对战联机方法
  6. 笔记11-继承修饰符
  7. SCAU 正n多边形类的定义与使用
  8. select2 api参数中文文档
  9. 酒旅江湖战事:携程坚挺,美团蓄力,抖音来战
  10. 电科 | 电子器件微纳米加工技术