使用base64对图片的二进制进行编码并用ajax进行显示


Posted in Javascript onJanuary 03, 2017

使用base64对图片的二进制进行编码并用ajax进行显示

有时候我们需要动态的将图片的二进制在页面上进行显示,如我们需要弄一个验证码的功能,那么如果我们的验证码的图片在后台得到的是该图片的二进制,那么当我们需要在页面上点击一个按钮利用ajax进行切换的时候,如果在后台直接返回的是该图片的二进制,那么该图片是无法进行显示的。

直接返回字节流给img标签的src是可以的,如<img src="servlet/CheckCode">,但在之后进行切换的时候使用ajax请求,如果仅仅返回图片的二进制然后把它传给img的src是不能的,目前的方法是把图片的二进制进行base64编码,

然后在页面上以下列方式进行显示,<img src="data:image/jpeg;base64,result">,其中的result是经过base64编码后的内容,这样就可以使用后台直接利用图片的二进制进行图片的显示了

实例代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>code.html</title>
 
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="this is my page">
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  
  <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
  <script type="text/javascript" src="js/jquery.js"></script>
  <script type="text/javascript">
   $(function() {
   
   init();
   
   $("[type='button']").click(function() {
    $.post("servlet/CheckCode",{},function(data) {
    //注意这里src的写法,data是经过base64编码后的内容
    $("img").attr("src","data:image/jpeg;base64,"+data);
    });
   });
   
   });
   function init() {
   $.post("servlet/CheckCode",{},function(data) {
    //其实在第一次运行的时候是可以直接将图片的二进制作为Image的src进行显示的,但是因为后台统一返回的是
    //经过base64编码过后的内容,所以这里初始显示的时候也是利用base64的方法
    $("img").attr("src","data:image/jpeg;base64,"+data);
   });
   }
  </script>

 </head>
 
 <body>
  <img alt="" width=100 >
  <input type="button" value="换一张"/>
 </body>
</html>
Javascript 相关文章推荐
ext 列表页面关于多行查询的办法
Mar 25 Javascript
javascript中关于执行环境的杂谈
Aug 14 Javascript
当jQuery遭遇CoffeeScript的时候 使用分享
Sep 17 Javascript
Jquery 在页面加载后执行的几种方式
Mar 14 Javascript
解决js下referer兼容各大浏览器的方法
Nov 03 Javascript
jQuery纵向导航菜单效果实现方法
Dec 19 Javascript
canvas绘制一个常用的emoji表情
Mar 30 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
Aug 25 Javascript
javascript实现手动点赞效果
Apr 09 Javascript
简单通过settimeout看javascript的运行机制
May 10 Javascript
JavaScript实现简单进度条效果
Mar 25 Javascript
聊聊JS ES6中的解构
Apr 29 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
Jan 03 #Javascript
原生JS实现在线问卷调查投票特效
Jan 03 #Javascript
详解angular中如何监控dom渲染完毕
Jan 03 #Javascript
Node.js学习入门
Jan 03 #Javascript
通过AngularJS实现图片上传及缩略图展示示例
Jan 03 #Javascript
DWR3 访问WEB元素的两种方法实例详解
Jan 03 #Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
Jan 03 #Javascript
You might like
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
PHP中遇到BOM、编码导致json_decode函数无法解析问题
2014/07/02 PHP
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
JavaScript Accessor实现说明
2010/12/06 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
jQuery修改CSS伪元素属性的方法
2014/07/30 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
javascript如何定义对象数组
2016/06/07 Javascript
AngularJS应用开发思维之依赖注入3
2016/08/19 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
js数据类型检测总结
2018/08/05 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
nodejs中用npm初始化来创建package.json的实例讲解
2018/10/10 NodeJs
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
[18:20]DOTA2 HEROS教学视频教你分分钟做大人-昆卡
2014/06/11 DOTA
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
PyQt 线程类 QThread使用详解
2017/07/16 Python
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
解决python给列表里添加字典时被最后一个覆盖的问题
2019/01/21 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
超级实用的8个Python列表技巧
2020/08/24 Python
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
企业车辆管理制度
2014/01/24 职场文书
幼儿园教学管理制度
2014/02/04 职场文书
模具专业毕业生自荐书范文
2014/02/19 职场文书
大学生励志演讲稿
2014/04/25 职场文书
证婚人致辞精选
2015/07/28 职场文书
php字符串倒叙
2021/04/01 PHP
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
2021/06/26 Python