vue下载二进制流图片操作


Posted in Javascript onOctober 26, 2020

1、应项目要求,后台返回二进制流,而且乱码

vue下载二进制流图片操作

2、红色为必须

vue下载二进制流图片操作

this.$axios.post('/fishweb/agent/downLoad',this.stringify({filename:'qrCode.jpg'}), {
 responseType: 'arraybuffer' //指定返回数据的格式为blob
 }).then((res) => {
 var src='data:image/jpg;base64,'+ btoa(new Uint8Array(res).reduce((data, byte) => data + String.fromCharCode(byte), ''));
 this.srcImg = src; //图片回显
 var link = document.createElement('a');
 link.href = src;
 link.download = "qrCode.jpg";
 link.click();
 })

补充知识:vue img src加载图片二进制问题记录

此 地址请求 http://xx.xx.xx.xx:xxxx/xx/.../xx/downLoadDoc?docId=xxxxx&access_token=xxxxx 返回的png二进制流。如下:

vue下载二进制流图片操作

在项目中我使用img src直接对图片的二进制流加载,遇到频率很高的问题是前端发起的请求被服务器多次302重定向了,然后我访问的资源存在问题。

然后果断改为通过http get请求下来png 二进制流来处理。思路是通过responseType 制定返回数据格式为blob

请求的图片地址 url = http://xxxxxx:xxxx/xxx/xxx/merchDoc/downLoadDoc

axios({
  method: "get",
  url,
  params: xxx,
  responseType:"blob"
 }).then(response => {
  this.picUrl = window.URL.createObjectURL(response);
});

解析blob 并展示在img src 中如下:

this.picUrl = window.URL.createObjectURL(response);

以上这篇vue下载二进制流图片操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
TimergliderJS 一个基于jQuery的时间轴插件
Dec 07 Javascript
JS检测图片大小的实例
Aug 21 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
Feb 19 Javascript
Bootstrap企业网站实战项目4
Oct 14 Javascript
Bootstrap警告(Alerts)的实现方法
Mar 22 Javascript
js表单序列化判断空值的实例
Sep 22 Javascript
在vue-cli中组件通信的方法
Dec 16 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
Mar 08 Javascript
vue+element的表格实现批量删除功能示例代码
Aug 17 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
Dec 13 Javascript
Vue项目安装插件并保存
Jan 28 Javascript
详解JavaScript 为什么要有 Symbol 类型?
Apr 03 Javascript
JavaScript如何操作css
Oct 24 #Javascript
javascript实现多边形碰撞检测
Oct 24 #Javascript
解决vue scoped html样式无效的问题
Oct 24 #Javascript
vue项目查看vue版本及cli版本的实现方式
Oct 24 #Javascript
Ant Design的Table组件去除
Oct 24 #Javascript
Ant design vue table 单击行选中 勾选checkbox教程
Oct 24 #Javascript
Antd的Table组件嵌套Table以及选择框联动操作
Oct 24 #Javascript
You might like
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
checkbox 复选框不能为空
2009/07/11 Javascript
javascript与CSS复习(二)
2010/06/29 Javascript
javascript 闭包疑问
2010/12/30 Javascript
一些主流JS框架中DOMReady事件的实现小结
2011/02/12 Javascript
javascript学习笔记(十四) window对象使用介绍
2012/06/20 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
python获取糗百图片代码实例
2013/12/18 Python
python网络编程学习笔记(四):域名系统
2014/06/09 Python
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
Python比较两个图片相似度的方法
2015/03/13 Python
使用Python中的tkinter模块作图的方法
2017/02/07 Python
Python基础知识_浅谈用户交互
2017/05/31 Python
python机器学习实战之树回归详解
2017/12/20 Python
基于数据归一化以及Python实现方式
2018/07/11 Python
pymysql模块的操作实例
2019/12/17 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
python 制作简单的音乐播放器
2020/11/25 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
项目经理聘任书
2014/03/29 职场文书
文明市民先进事迹
2014/05/15 职场文书
个人求职信范文
2014/05/24 职场文书
大学生个人求职信例文
2014/07/07 职场文书
个人收入证明范本
2014/09/18 职场文书
公司离职证明标准范本
2014/10/05 职场文书
婚礼新人答谢词
2015/01/04 职场文书
客房服务员岗位职责
2015/02/09 职场文书
人身损害赔偿协议书
2016/03/22 职场文书
MySQL如何解决幻读问题
2021/08/07 MySQL