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 控制弹出窗口
Apr 10 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
Apr 02 Javascript
JS localStorage实现本地缓存的方法
Jun 22 Javascript
下拉列表select 由左边框移动到右边示例
Dec 04 Javascript
利用window.name实现windowStorage代码分享
Jan 02 Javascript
jQuery中extend()和fn.extend()方法详解
Jun 03 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
Jul 27 Javascript
将json转换成struts参数的方法
Nov 08 Javascript
node.js中EJS 模板快速入门教程
May 08 Javascript
深入了解JavaScript 的 WebAssembly
Jun 15 Javascript
微信小程序实现时间进度条功能
Nov 17 Javascript
JavaScript中的执行环境和作用域链
Sep 04 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中显示数组与对象的实现代码
2011/04/18 PHP
php实现高效获取图片尺寸的方法
2014/12/12 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
Maps Javascript
2007/01/22 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
vue3.0实现插件封装
2020/12/14 Vue.js
Python的迭代器和生成器
2015/07/29 Python
使用python实现省市三级菜单效果
2016/01/20 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
保时捷设计:Porsche Design
2019/03/30 全球购物
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
公务员保密承诺书
2014/03/27 职场文书
投标诚信承诺书
2014/05/26 职场文书
学校纪律作风整改措施思想汇报
2014/10/11 职场文书
学生党员检讨书范文
2014/12/27 职场文书
红色经典观后感
2015/06/18 职场文书
师范生见习总结范文
2015/06/23 职场文书
党纪处分决定书
2015/06/24 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
小学生安全教育心得体会
2016/01/15 职场文书
iPhone13再次曝光
2021/04/15 数码科技
MySQL 全文索引使用指南
2021/05/25 MySQL