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 onkeydown,onkeyup,onkeypress,onclick,ondblclick
Feb 04 Javascript
javascript 跨浏览器开发经验总结(五) js 事件
May 19 Javascript
jQuery 名称冲突的解决方法
Apr 08 Javascript
用jQuery toggleClass 实现鼠标移上变色
May 14 Javascript
Backbone.js的Hello World程序实例
Jun 19 Javascript
jQuery动态增减行的实例代码解析(推荐)
Dec 05 Javascript
判断横屏竖屏(三种)
Feb 13 Javascript
jquery一键控制checkbox全选、反选或全不选
Oct 16 jQuery
React Native 通告消息竖向轮播组件的封装
Aug 25 Javascript
vuex提交state&&实时监听state数据的改变方法
Sep 16 Javascript
js控制随机数生成概率代码实例
Mar 21 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
Aug 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
php 判断数组是几维数组
2013/03/20 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
php常用正则函数实例小结
2016/12/29 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
nginx 设置多个站跨域
2021/03/09 Servers
jquery select选中的一个小问题
2009/10/11 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
js实现TAB切换对应不同颜色的代码
2015/08/31 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
2015/09/17 Javascript
js简单时间比较的方法
2016/08/02 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
Bootstrap进度条实现代码解析
2017/03/07 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
vue项目中常见问题及解决方案(推荐)
2019/10/21 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
python正则匹配查询港澳通行证办理进度示例分享
2013/12/27 Python
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
使用python遍历指定城市的一周气温
2017/03/31 Python
django2.0扩展用户字段示例
2019/02/13 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
如何更改 pandas dataframe 中两列的位置
2019/12/27 Python
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
新农村建设典型材料
2014/05/31 职场文书
标准毕业生自荐信
2014/06/24 职场文书
中秋晚会活动方案
2014/08/31 职场文书
毕业典礼邀请函
2015/01/31 职场文书
个人工作保证书
2015/02/28 职场文书
孝女彩金观后感
2015/06/10 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
httpclient调用远程接口的方法
2022/08/14 Java/Android