您的位置:首页 > 编程语言 > Java开发

在java代码中将图片转变为base64位代码 并且在浏览器下展示base64编码的图片

2015-03-02 10:07 591 查看
1 在java代码里对图片进行base64编码和解码

package com.jovision.image;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import sun.misc.BASE64Decoder;

import sun.misc.BASE64Encoder;

public class Base64Image {

 public static void main(String[] args) 

     { 

         String strImg = GetImageStr(); 

         System.out.println(strImg);

         GenerateImage(strImg); 

     } 

     public static String GetImageStr() 

     {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理  

         String imgFile = "D:\\tmp\\100.png";//待处理的图片  

         InputStream in = null; 

         byte[] data = null; 

         //读取图片字节数组  

         try  

         { 

             in = new FileInputStream(imgFile);         

             data = new byte[in.available()]; 

             in.read(data); 

             in.close(); 

         }  

         catch (IOException e)  

         { 

             e.printStackTrace(); 

         } 

         //对字节数组Base64编码  

         BASE64Encoder encoder = new BASE64Encoder(); 

         return encoder.encode(data);//返回Base64编码过的字节数组字符串  

     } 

     public static boolean GenerateImage(String imgStr) 

     {//对字节数组字符串进行Base64解码并生成图片  

         if (imgStr == null) //图像数据为空  

             return false; 

         BASE64Decoder decoder = new BASE64Decoder(); 

         try  

         { 

             //Base64解码  

             byte[] b = decoder.decodeBuffer(imgStr); 

             for(int i=0;i<b.length;++i) 

             { 

                 if(b[i]<0) 

                 {//调整异常数据  

                     b[i]+=256; 

                 } 

             } 

             //生成jpeg图片  

             String imgFilePath = "D:\\tmp\\101.png";//新生成的图片  

             OutputStream out = new FileOutputStream(imgFilePath);     

             out.write(b); 

             out.flush(); 

             out.close(); 

             return true; 

         }  

         catch (Exception e)  

         { 

             return false; 

         } 

     } 

}

 

 

2 在html页面下展示base64编码的图片 代码如下

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCA...“/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: