使用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 相关文章推荐
动态改变textbox的宽高的js
Oct 26 Javascript
js拼接html注意问题示例探讨
Jul 14 Javascript
异步JS框架的作用以及实现方法
Oct 29 Javascript
详解AngularJS脏检查机制及$timeout的妙用
Jun 19 Javascript
vue复合组件实现注册表单功能
Nov 06 Javascript
Vue入门之数据绑定(小结)
Jan 08 Javascript
Vue.js实现可排序的表格组件功能示例
Feb 19 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
Apr 25 Javascript
AngularJs中$cookies简单用法分析
May 30 Javascript
JS控制GIF图片的停止与显示
Oct 24 Javascript
vue不操作dom实现图片轮播的示例代码
Dec 18 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
Jun 08 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
解析smarty模板中类似for的功能实现
2013/06/18 PHP
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
JS中confirm,alert,prompt函数区别分析
2011/01/17 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
Vue.js每天必学之过渡与动画
2016/09/06 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
JavaScript中ES6规范中let和const的用法和区别
2020/08/06 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
python 格式化输出百分号的方法
2019/01/20 Python
Python分支语句与循环语句应用实例分析
2019/05/07 Python
python 爬取学信网登录页面的例子
2019/08/13 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
远程教育心得体会
2014/01/03 职场文书
五年级语文教学反思
2014/01/30 职场文书
三爱活动实施方案
2014/03/19 职场文书
党员公开承诺书
2014/03/25 职场文书
服装设计专业求职信
2014/06/16 职场文书
2014年体育部工作总结
2014/11/13 职场文书
龙门石窟导游词
2015/02/02 职场文书
开除员工通知
2015/04/22 职场文书
防暑降温通知书
2015/04/27 职场文书
2016个人廉洁自律承诺书
2016/03/25 职场文书
golang中的空slice案例
2021/04/27 Golang
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python
JAVA springCloud项目搭建流程
2022/05/11 Java/Android