使用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 相关文章推荐
拖动Html元素集合 Drag and Drop any item
Dec 22 Javascript
javascript跑马灯悬停放大效果实现代码
Dec 12 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
Nov 09 Javascript
如何使用Vuex+Vue.js构建单页应用
Oct 27 Javascript
JS实现DIV高度自适应窗口示例
Feb 16 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
Jul 31 Javascript
原生JS实现前端本地文件上传
Sep 08 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
Dec 20 Javascript
一文快速了解JQuery中的AJAX
May 31 jQuery
vue-loader中引入模板预处理器的实现
Sep 04 Javascript
js实现网页随机验证码
Oct 19 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
Jan 29 jQuery
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
PHP5在Apache下的两种模式的安装
2006/09/05 PHP
php 读取shell管道传输过来的内容
2010/03/01 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
Php header()函数语法及使用代码
2013/11/04 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
JavaScript中的this关键字使用方法总结
2015/03/13 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
2015/11/06 Javascript
Ext JS动态加载JavaScript创建窗体的方法
2016/06/23 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
javascript设计模式 ? 桥接模式原理与应用实例分析
2020/04/13 Javascript
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
分享几道你可能遇到的python面试题
2017/07/24 Python
python获取服务器响应cookie的实例
2018/12/28 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
Python while循环使用else语句代码实例
2020/02/07 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
Pottery Barn阿联酋:购买家具、家居装饰及更多
2019/12/08 全球购物
奥地利婴儿用品和玩具购物网站:baby-markt.at
2020/01/26 全球购物
工程概预算专业毕业生求职信
2013/10/04 职场文书
公司领导推荐信
2013/11/12 职场文书
职专应届生求职信
2013/11/16 职场文书
实习评语
2013/12/16 职场文书
计算机专业自荐信
2014/05/24 职场文书
企业承诺书怎么写
2014/05/24 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
2016年大学生党员承诺书
2016/03/24 职场文书
Python学习之包与模块详解
2022/03/19 Python