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 相关文章推荐
DOMAssitant最新版 DOMAssistant 2.5发布
Dec 25 Javascript
jquery 检测元素是否存在的实例代码
Nov 19 Javascript
javascript中call apply 与 bind方法详解
Mar 10 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
Jul 05 Javascript
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
Jun 13 jQuery
mui框架移动开发初体验详解
Oct 11 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
Dec 07 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
Sep 21 Javascript
解决Vue调用springboot接口403跨域问题
Sep 02 Javascript
微信小程序实现蓝牙打印
Sep 23 Javascript
js+h5 canvas实现图片验证码
Oct 11 Javascript
vue组件添加事件@click.native操作
Oct 30 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实现更改hosts文件的方法示例
2017/08/08 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
PHP代码加密的方法总结
2020/03/13 PHP
详细讲解JS节点知识
2010/01/31 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
JavaScript中的关键字"VAR"使用详解 分享
2013/07/31 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
p5.js绘制创意自画像
2019/11/04 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
python刷投票的脚本实现代码
2014/11/08 Python
MySQL适配器PyMySQL详解
2017/09/20 Python
python 连接各类主流数据库的实例代码
2018/01/30 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
python调用c++传递数组的实例
2019/02/13 Python
python函数修饰符@的使用方法解析
2019/09/02 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
python爬虫用mongodb的理由
2020/07/28 Python
String和StringBuffer的区别
2015/08/13 面试题
银行财务部实习生的自我鉴定
2013/11/27 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
行政工作个人的自我评价
2014/02/13 职场文书
影子教师研修方案
2014/06/14 职场文书
贫困证明模板(3篇)
2014/09/16 职场文书
文明家庭事迹材料
2014/12/20 职场文书
开学第一天的感想
2015/08/10 职场文书
优质护理心得体会
2016/01/22 职场文书
解析Java中的static关键字
2021/06/14 Java/Android
浅谈MySQL中的六种日志
2022/03/23 MySQL
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏