lvxianchao / notes

狗屁不通瞎写的博客
https://coderlxc.com
1 stars 0 forks source link

ImageUtil #51

Open lvxianchao opened 1 year ago

lvxianchao commented 1 year ago
/**
 * 获取远程图片的 base64
 *
 * @param remoteImageUrl 远程图片地址
 *
 * @return 图片的 base64
 */
public static String getRemoteImageBase64(String remoteImageUrl) {
    try {
        StringBuilder builder = new StringBuilder("data:");

        URL url = new URL(remoteImageUrl);
        String type = url.openConnection().getContentType();
        builder.append(type).append(";base64,");

        BufferedImage bufferedImage = ImageIO.read(url.openStream());
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        ImageIO.write(bufferedImage, "png", stream);
        String base64 = Base64.getEncoder().encodeToString(stream.toByteArray());
        builder.append(base64);

        return builder.toString();
    } catch (IOException e) {
        log.warn("读取远程图片信息失败: {}", e.getMessage());
        return null;
    }
}