需求说明
网页显示某些小的图片需要转成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; } }
文章评论