使用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 相关文章推荐
基于jquery的表头固定的若干方法
Jan 27 Javascript
使用 js+正则表达式为关键词添加链接
Nov 11 Javascript
javascript基本类型详解
Nov 28 Javascript
JavaScript实现梯形乘法表的方法
Apr 25 Javascript
浅谈javascript的Array.prototype.slice.call
Aug 31 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
Jan 18 Javascript
JS双击变input框批量修改内容
Dec 12 Javascript
原生js实现放大镜特效
Mar 08 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
Nov 16 Javascript
动态加载权限管理模块中的Vue组件
Jan 16 Javascript
深入浅析var,let,const的异同点
Aug 07 Javascript
解决vue动态下拉菜单 有数据未反应的问题
Aug 06 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
php中实现简单的ACL 完结篇
2011/09/07 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
PHP的引用详解
2015/02/22 PHP
PHP获取POST数据的几种方法汇总
2015/03/03 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
javascript实现根据身份证号读取相关信息
2014/12/17 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
js实现旋转木马效果
2017/03/17 Javascript
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
2017/07/22 jQuery
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
AngularJS发送异步Get/Post请求方法
2018/08/13 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
html5开发之viewport使用
2013/10/17 HTML / CSS
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
倩碧美国官网:Clinique美国
2016/07/20 全球购物
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
求职简历自荐信
2013/10/20 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
交通事故和解协议书
2015/01/27 职场文书
公司车辆管理制度
2015/08/04 职场文书
入党后的感想
2015/08/10 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
Python循环之while无限迭代
2022/04/30 Python
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL