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(); } } }

整体来说,转化过程简单,代码也比较直观。你可以根据自己的项目需求来调整,像加个异常、支持更多图片格式之类的。

zip 文件大小:7.75KB