使用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基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
Aug 05 Javascript
基于jquery+thickbox仿校内登录注册框
Jun 07 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
Dec 18 Javascript
Bootstrap模态框禁用空白处点击关闭
Oct 20 Javascript
简单的js计算器实现
Oct 26 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
Nov 25 Javascript
Javascript之深入浅出prototype
Feb 06 Javascript
jQuery鼠标悬停内容动画切换效果
Apr 27 jQuery
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
Aug 31 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
Mar 15 Javascript
node.js命令行教程图文详解
May 27 Javascript
JavaScript ES 模块的使用
Nov 12 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内核解析:PHP中的哈希表
2014/01/30 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
jquery 简短右键菜单 多浏览器兼容
2010/01/01 Javascript
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
javascript 学习笔记(一)DOM基本操作
2011/04/08 Javascript
jquery判断浏览器类型的代码
2012/11/05 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
Python处理PDF与CDF实例
2020/02/26 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
纪律委员竞选稿
2015/11/19 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
Python列表的索引与切片
2022/04/07 Python