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 相关文章推荐
Document 对象的常用方法
Jul 31 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
Apr 12 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
Jul 14 Javascript
模仿password输入框的实现代码
Jun 07 Javascript
node.js中fs.stat与fs.fstat的区别详解
Jun 01 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
Sep 06 Javascript
详解webpack中的hash、chunkhash、contenthash区别
Jan 05 Javascript
详解Vue单元测试Karma+Mocha学习笔记
Jan 31 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
Aug 07 Javascript
Vue中父子组件的值传递与方法传递
Sep 28 Javascript
JavaScript实现4位随机验证码的生成
Jan 28 Javascript
Js类的构建与继承案例详解
Sep 15 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
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
JS中style属性
2006/10/11 Javascript
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
构建Python包的五个简单准则简介
2015/06/15 Python
Python爬虫番外篇之Cookie和Session详解
2017/12/27 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
python3中zip()函数使用详解
2018/06/29 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
python web自制框架之接受url传递过来的参数实例
2018/12/17 Python
详解Python 中sys.stdin.readline()的用法
2019/09/12 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
2020/09/05 Python
python 实现批量图片识别并翻译
2020/11/02 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
canvas如何实现多张图片编辑的图片编辑器
2020/03/10 HTML / CSS
优秀团支部事迹材料
2014/02/08 职场文书
优秀党支部申报材料
2014/12/24 职场文书
违纪学生保证书
2015/02/27 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL