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 相关文章推荐
javascript 在firebug调试时用console.log的方法
May 10 Javascript
js中关于一个分号的崩溃示例
Nov 11 Javascript
JavaScript Length 属性的总结
Nov 02 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
Jan 18 Javascript
Node.js+Express配置入门教程
May 19 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
May 20 Javascript
vue.js表格组件开发的实例详解
Oct 12 Javascript
JavaScript输入框字数实时统计更新
Jun 17 Javascript
React组件生命周期详解
Jul 03 Javascript
js使用ajax传值给后台,后台返回字符串处理方法
Aug 08 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
Apr 28 Javascript
JavaScript实现京东放大镜效果
Dec 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
德生S2000电路分析
2021/03/02 无线电
php获得当前的脚本网址
2007/12/10 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
浅析php原型模式
2014/11/25 PHP
PHP开发注意事项总结
2015/02/04 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
2019/03/30 PHP
php post换行的方法
2020/02/03 PHP
js 3种归并操作的实例代码
2013/10/30 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
2015/10/22 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
简单掌握JavaScript中const声明常量与变量的用法
2016/05/21 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
Python中使用Inotify监控文件实例
2015/02/14 Python
Python字符串格式化
2015/06/15 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
Python标准库inspect的具体使用方法
2017/12/06 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
python函数enumerate,operator和Counter使用技巧实例小结
2020/02/22 Python
时尚的CSS3进度条效果
2012/02/22 HTML / CSS
印尼网上商店:Alfacart.com
2019/03/11 全球购物
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
Java语言的优势
2015/01/10 面试题
销售助理岗位职责
2014/02/21 职场文书
小学生志愿者活动方案
2014/08/23 职场文书
2016年感恩节寄语
2015/12/07 职场文书
MySQL 分组查询的优化方法
2021/05/12 MySQL
python实现简易自习室座位预约系统
2021/06/30 Python
JAVA API 实用类 String详解
2021/10/05 Java/Android
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS