[工具方法][Java]图片转成网页img标签能显示的base64图片代码

2022-03-01 530点热度 0人点赞 0条评论

需求说明

网页显示某些小的图片需要转成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;
    }
}

 

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论