Browse Source

添加base64转码保存图片的测试代码。

zzy.zhiyuan.foxmail 8 years ago
parent
commit
c7b5789c9d

+ 1 - 1
src/main/java/com/ekexiu/portal/service/ImageService.java

155
//		ByteArrayInputStream bais = new ByteArrayInputStream(bytes);    
155
//		ByteArrayInputStream bais = new ByteArrayInputStream(bytes);    
156
//		BufferedImage bi =ImageIO.read(bais);
156
//		BufferedImage bi =ImageIO.read(bais);
157
        BufferedImage bi = Base64.getBase64(base64);
157
        BufferedImage bi = Base64.getBase64(base64);
158
		String fileName=this.headPath+"/"+id+".gif";
158
		String fileName=this.headPath+"/"+id+".jpg";
159
        File file = new File(fileName);//可以是jpg,png,gif格式    
159
        File file = new File(fileName);//可以是jpg,png,gif格式    
160
        ImageIO.write(bi, "jpg", file);//不管输出什么格式图片,此处不需改动   
160
        ImageIO.write(bi, "jpg", file);//不管输出什么格式图片,此处不需改动   
161
		return true;
161
		return true;

+ 21 - 0
src/main/java/com/ekexiu/portal/util/Base64.java

2

2

3
import java.awt.image.BufferedImage;
3
import java.awt.image.BufferedImage;
4
import java.io.ByteArrayInputStream;
4
import java.io.ByteArrayInputStream;
5
import java.io.ByteArrayOutputStream;
6
import java.io.File;
7
import java.io.IOException;
5

8

6
import javax.imageio.ImageIO;
9
import javax.imageio.ImageIO;
7

10

11
import sun.misc.BASE64Encoder;
8
import sun.misc.BASE64Decoder;
12
import sun.misc.BASE64Decoder;
9

13

14
/**
15
 * 将base码解码成图片格式。
16
 */
10
@SuppressWarnings("restriction")
17
@SuppressWarnings("restriction")
11
public class Base64 {
18
public class Base64 {
12
	public static BufferedImage getBase64(String base64) {
19
	public static BufferedImage getBase64(String base64) {
20
			return null; 
27
			return null; 
21
		} 
28
		} 
22
	}
29
	}
30
	
31
	public static void main(String[] args) throws IOException {
32
		BASE64Encoder encoder = new sun.misc.BASE64Encoder();
33
		File f = new File("D:/application/Workspaces/ekexiu.com.portal/src/main/webapp/images/head/03BF8D4ABF19481AA7BE4CD9509E3243_l.jpg");
34
		BufferedImage bi = ImageIO.read(f);
35
		ByteArrayOutputStream baos = new ByteArrayOutputStream();    
36
		ImageIO.write(bi, "jpg", baos);
37
		byte[] bytes = baos.toByteArray();
38
		String base64 = encoder.encodeBuffer(bytes).trim();
39
		BufferedImage bi1 = Base64.getBase64(base64);
40
		File file = new File("D:/测试图片.jpg");//可以是jpg,png,gif格式    
41
		ImageIO.write(bi1, "jpg", file);//不管输出什么格式图片,此处不需改动   
42
		System.out.println("图片保存成功!");
43
	}
23
}
44
}