//Java 部分
?
package com.zht;
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 Base64 {
?public static void main(String[] args) {
??String strImg = GetImageStr();
??System.out.println(strImg);
??GenerateImage(strImg);
?}
?//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
?public static String GetImageStr() {
??String imgFile = "d:\\1.jpg";//待处理的图片
??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编码过的字节数组字符串
?}
?//对字节数组字符串进行Base64解码并生成图片
?public static boolean GenerateImage(String imgStr) {
??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:\\2.jpg";//新生成的图片
???OutputStream out = new FileOutputStream(imgFilePath);
???out.write(b);
???out.flush();
???out.close();
???return true;
??} catch (Exception e) {
???return false;
??}
?}
}
?
//Html 页面部分
?
<!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-Type" content="text/html; charset=gb2312" />
</head>
<body>
<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK
CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU
FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAC7AJ4DASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9LrpU
WOZAC7kb/mY8fLgHPboaiW+jV1QAQCLAbcBkZVgMZPfjBp0UCW3yZ8uN/lC5VduPcDIJBz3zjtUQ
Bmjtx8omZFARgN3QHlewODkc+1dOx6KsOkiVpWwpiHG3Iw0nrnP06deRUQu5IsfaREH3n5Oyc4z6
Hn/GpI74wygynynYBHd25J64GPY/U8eleY/tFfGG2+DPwv1LUkkiOrXcv2HSraZiwe4fAO44PC7i
xB44x3FZzmoq7K9Sf4gfH3wl8MbSZLu8/tbU4fkew08B7gk7gC4UnykwDhmxnqM18nePP28/GWnx
t/YtlpFqFi2WsZheR41GR8z78ZwB91VznkcAD591/XptKtrq8vdWkvtQv53luL66bYZpmA3gH0z6
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" width="102" height="126" />
</body>
</html>
?