Java图片与Base64编码转换实现
图片和 Base64 之间的转换在 Java 中其实简单,挺常见的,尤其是在需要传输或存储图片数据时。你会在多场景中用到,比如将图片转成 Base64 编码后,放进网页或者 API 求中。说到实现,步骤简单:先读入图片文件,再将其转成字节数组,用Base64进行编码。要是你手头有 Base64 编码,想转回图片,也同样简单。先解码 Base64,得到字节数组,再通过ImageIO将字节数组转换回图片,保存到文件里。这个过程完全不复杂,也挺好用,甚至可以在性能要求较高的场景下加入线程控制和内存管理。
如果你用 Java 开发,自己实现这一套转化功能其实方便。要是想实现图片和 Base64 之间的互转,下面的代码就能派上大用场:
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import javax.imageio.ImageIO;
import java.util.Base64;
public class ImageToBase64 {
public static void main(String[] args) {
try {
File imageFile = new File("path_to_your_image.jpg");
byte[] imageBytes = Files.readAllBytes(imageFile.toPath());
String encodedImage = Base64.getEncoder().encodeToString(imageBytes);
System.out.println(encodedImage);
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import javax.imageio.ImageIO;
import java.util.Base64;
public class Base64ToImage {
public static void main(String[] args) {
String base64String = "your_base64_string";
byte[] decodedBytes = Base64.getDecoder().decode(base64String);
try {
BufferedImage image = ImageIO.read(new ByteArrayInputStream(decodedBytes));
File outputFile = new File("output_image.jpg");
ImageIO.write(image, "jpg", outputFile);
System.out.println("Image saved successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
整体来说,转化过程简单,代码也比较直观。你可以根据自己的项目需求来调整,像加个异常、支持更多图片格式之类的。
评论区