将图片转为文件输入流,再将输入流读取转化为base64码,将base64码存入数据库中,前台可直接根据base64码读取成图片
在这里就不写数据库连接等方法了,直接把核心代码贴出来:
File file = new File("D:\\Chrysanthemum.jpg");
FileInputStream is = new FileInputStream(file);
byte[] data = new byte[is.available()];
is.read(data);
is.close();
BASE64Encoder encoder = new BASE64Encoder();
String base64Img = encoder.encode(data);
System.out.print(base64Img);
前台要显示时,只需获取图片的base64码字符串传到前台转换即可展示图片:
<img src="data:image/jpg;base64,<%=base64Path %>" width="50%" height="50%"/>
但是 base64码真的太长了,不方便数据库的存储和读取。
所以并不建议使用该方法来存储图片,之后会再发一个带图片预览的用ajax存储图片的Demo。