使用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 相关文章推荐
什么是JavaScript
Aug 13 Javascript
用 Javascript 验证表单(form)中多选框(checkbox)值
Sep 08 Javascript
JQuery 应用 JQuery.groupTable.js
Dec 15 Javascript
js实现简洁大方的二级下拉菜单效果代码
Sep 01 Javascript
JS操作JSON方法总结(推荐)
Jun 14 Javascript
BootStrop前端框架入门教程详解
Dec 25 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
Mar 30 Javascript
Vue computed计算属性的使用方法
Jul 14 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
Jul 24 Javascript
仿淘宝JSsearch搜索下拉深度用法
Jan 15 Javascript
讲解vue-router之什么是编程式路由
May 28 Javascript
详解vue路由
Aug 05 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递归算法和应用方法介绍
2013/04/15 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
jQuery中eq()方法用法实例
2015/01/05 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
js HTML5手机刮刮乐代码
2020/09/29 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
2017/04/20 Javascript
js JSON.stringify()基础详解
2019/06/19 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
Django 连接sql server数据库的方法
2018/06/30 Python
Python中fnmatch模块的使用详情
2018/11/30 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
公司内部升职自荐信
2015/03/27 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书
python的html标准库
2022/04/29 Python