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 相关文章推荐
用jquery方法操作radio使其默认选项是否
Sep 10 Javascript
使用JavaScript判断图片是否加载完成的三种实现方式
May 04 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
Jul 27 Javascript
原生JS实现图片轮播与淡入效果的简单实例
Aug 21 Javascript
Vue.js 单页面多路由区域操作的实例详解
Jul 17 Javascript
Windows下Node.js安装及环境配置方法
Sep 18 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
Oct 09 jQuery
详解Immutable及 React 中实践
Mar 01 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
Mar 29 Javascript
使用js实现一个简单的滚动条过程解析
Sep 10 Javascript
jenkins自动构建发布vue项目的方法步骤
Jan 04 Vue.js
vue封装数字翻牌器
Apr 20 Vue.js
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
分割GBK中文遭遇乱码的解决方法
2013/08/09 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
CI框架的安全性分析
2016/05/18 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
JavaScript的Function详细
2006/11/14 Javascript
js原型链原理看图说明
2012/07/07 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
2017/12/08 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
python算法题 链表反转详解
2019/07/02 Python
python实现通过flask和前端进行数据收发
2019/08/22 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
Python docutils文档编译过程方法解析
2020/06/23 Python
浅析Python 抽象工厂模式的优缺点
2020/07/13 Python
物业招聘计划书
2014/01/10 职场文书
十一酒店活动方案
2014/02/20 职场文书
淘宝好评语句大全
2014/12/31 职场文书
项目经理岗位职责
2015/01/31 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
七夕情人节问候语
2015/11/11 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis