使用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  width=100 >
    <input type="button" value="换一张"/>
  </body>
</html>

转自:http://haohaoxuexi.iteye.com/blog/1084080

时间: 2024-10-13 07:42:23

使用base64对图片的二进制进行编码,使其可以利用ajax进行显示的相关文章

将图片以二进制的方式保存在数据库中,并显示图片

http://www.aspnettutorials.com/tutorials/database/store-img-bins-asp4-cs/ http://stackoverflow.com/questions/18998763/how-to-retrieve-binary-image-from-database-using-c-sharp-in-asp-net 1. 创建一个数据表 CREATE TABLE [dbo].[SaveImageByBinary] ( [Id] INT NOT

将图片转为二进制字符串

#pragma mark - 将图片转为二进制 + (NSString *)image2binaryWithImage:(UIImage *)image imageName:(NSString *)imgName { //获取图片的二进制数据 NSData *imageData = UIImageJPEGRepresentation(image, 0.65); // if (UIImagePNGRepresentation(image) == nil) { // imageData = UIIm

base64转图片上传

不成功,但是有一定的借鉴性 /** * @param base64Codes *            图片的base64编码 */ function sumitImageFile(base64Codes){//debugger console.log(convertBase64UrlToBlob(base64Codes)); var formData = new FormData();   //这里连带form里的其他参数也一起提交了,如果不需要提交其他参数可以直接FormData无参数的构造

base64和图片的转换

/// <summary> /// base64转图片 /// </summary> /// <param name="strBase64"></param> /// <param name="pathName"></param> public static void Base64StringToImage(string strBase64,string pathName ) { String

C# 图片和64位编码的转换

/* 将图片转换为64位编码 */ //找到文件夹 System.IO.DirectoryInfo dd = new System.IO.DirectoryInfo("C://qq"); //得到该文件夹下所有的文件 System.IO.FileInfo[] file = dd.GetFiles(); //得到某个文件的路径 string filePath = file[1].DirectoryName + "\\" + file[1].Name; //用strea

通过data:image/png;base64把图片直接写在src里

从网上下了个源文件查看时候发现了引用图片的地址不是在本地上的,而是后面跟了一大串字符data:image/png;base64...查了一下资料分析如下: 关于用base64存储图片 网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如:data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHh

Java之Base64转为图片

########MD5编码############## public static String genMd5ByBytes(byte[] bytes) throws Exception { String value = null; try { MessageDigest md5 = MessageDigest.getInstance("MD5"); md5.update(bytes); byte b[] = md5.digest(); int i; StringBuffer buf

使用HTML5的File实现base64和图片的互转

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

springmvc结合base64存取图片到mysql

简介: 1.jsp通过MultipartFile上传图片到后台 2.后台把上传的图片通过base64转换成字符串存到mysql 3.从mysql读取图片字符串,通过base64反转成byte数组,再显示到jsp 1.mysql表结构 2.影射对象 package net.spring.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; impor