需求说明
网页显示某些小的图片需要转成base64的格式,例如<img src="data:image/jpg;base64,anc123==" />这样的形式,后台图片的文件或者类型,需要一个转换方法,工具方法如下:
可用户将RenderedImage(或者BufferedImage)以及File(图片文件)转成base64格式的。
/**
* 把RenderedImage转成base64格式的形式,用于网页img标签显示图片
* @param img RenderedImage
* @param format 格式,例如png或者jpg
*/
public static String imgToBase64String(final RenderedImage img, final String format) {
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(img, format, out);
byte[] bytes = out.toByteArray();
String base64bytes = Base64.getEncoder().encodeToString(bytes);
return "data:image/" + format + ";base64," + base64bytes;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
/**
* 把图片文件转成base64格式的形式,用于网页img标签显示图片
* @param file 图片文件
* @param format 格式,例如png或者jpg
*/
public static String imgToBase64String(final File file, final String format) {
try {
BufferedImage img = ImageIO.read(file);
return imgToBase64String(img, format);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
文章评论