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 使td内容不换行不撑开
Nov 29 Javascript
javascript dom追加内容实现示例
Sep 21 Javascript
jQuery中使用each处理json数据
Apr 23 Javascript
javascript实现的图片切割多块效果实例
May 07 Javascript
jQuery CSS3自定义美化Checkbox实现代码
May 12 Javascript
解析浏览器端的AJAX缓存机制
Jun 21 Javascript
vuejs父子组件之间数据交互详解
Aug 09 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
Dec 25 jQuery
vue-router之解决addRoutes使用遇到的坑
Jul 19 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
Sep 05 Javascript
javascript实现简易计算器功能
Sep 23 Javascript
JavaScript实现滚动加载更多
Dec 27 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
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
php实现天干地支计算器示例
2014/03/14 PHP
PHP扩展CURL的用法详解
2014/06/20 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
许愿墙中用到的函数
2006/10/07 Javascript
JavaScript Date对象使用总结
2009/05/14 Javascript
js几个验证函数代码
2010/03/25 Javascript
jquery中获取select选中值的代码
2011/06/27 Javascript
javasctipt如何显示几分钟前、几天前等
2014/04/30 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
layui的table单击行勾选checkbox功能方法
2018/08/14 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
[04:17]DOTA2完美盛典,rOtk、BurNIng携手巴图演唱《倔强》
2017/11/28 DOTA
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
Python----数据预处理代码实例
2019/03/20 Python
python实现PID算法及测试的例子
2019/08/08 Python
浅谈matplotlib.pyplot与axes的关系
2020/03/06 Python
python:解析requests返回的response(json格式)说明
2020/04/30 Python
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
奥巴马获胜演讲稿
2014/05/15 职场文书
应届大专生自荐书
2014/06/16 职场文书
十八大宣传标语
2014/10/09 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
幼儿园奖惩制度范本
2015/08/05 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技