首页 > java笔记 > Java中如何将base64转化为图片

Java中如何将base64转化为图片

更新:

在Java中,可以使用Apache Commons Codec库来解码Base64字符串到图片文件。首先,我们将Base64字符串解码到字节数组中。然后,我们使用Java ImageIO API保存这个字节数组到文件系统中。

一、需要的类库和导入

1、在开始前,我们需要引入Apache Commons Codec库的相关依赖如下:

<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.15</version>
</dependency>

2、在Java类中,我们需要引入以下包:

import org.apache.commons.codec.binary.Base64;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;

二、实现base64字符串解码成图片

1、在编写代码前,我们需要明确解码操作的过程,即先将base64字符串解码成字节数组,然后将字节数组转化为图片并保存在指定目录。

public class DecodeBase64ToImage {
    public static void main(String[] args) {
        String base64String = "Your Base64 String";
        String outputPath = "Output Image File Path";
        decodeBase64ToImage(base64String, outputPath);
    }
    
    public static void decodeBase64ToImage(String base64, String path) {
        byte[] imageBytes = Base64.decodeBase64(base64);
        try {
            BufferedImage bufImg = ImageIO.read(new ByteArrayInputStream(imageBytes));
            ImageIO.write(bufImg, "jpg", new File(path));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2、在以上代码中,我们利用Apache Commons Codec库中的Base64类的静态方法decodeBase64将base64字符串解码为字节数组,然后使用ImageIO类的read方法将字节数组转化为BufferedImage形式的图片,最后利用ImageIO类的write方法将BufferedImage形式的图片输出到指定路径。

三、注意事项

在进行base64转图片操作时,需要注意几个事项。

1、Base64字符串输入必须是有效的,否则在解码过程中可能会抛出异常。

2、输出路径必须是有效的,也就是说,指定的目录必须存在,否则在保存图片过程中也会抛出异常。

3、在这个代码示例中,我们将图片保存默认为jpg格式,如果需要其它格式(如png、gif等),需修改ImageIO.write方法的第二个参数,确保图片格式是支持的。

顶部