import org.apache.commons.codec.binary.Base64;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class GetJpgImg {
public static void main(String[] args) {
System.out.println(getJpgImg(""));
}
private static String getJpgImg(String base64Img) {
try {
// base64转stream
byte[] bytes = Base64.decodeBase64(base64Img);
try (ByteArrayInputStream in = new ByteArrayInputStream(bytes)) {
// stream读入image
BufferedImage image = ImageIO.read(in);
// 转JPG格式写入输出流
try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
ImageIO.write(image, "JPG", out);
// 转字符串
return java.util.Base64.getEncoder().encodeToString(out.toByteArray());
}
}
} catch (IOException e) {
e.printStackTrace();
}
return base64Img;
}
}
Java在内存中修改图片格式
该文章展示了如何使用ApacheCommonsCodec库将Base64编码的图片数据解码成BufferedImage对象,然后转换为JPEG格式,并最终编码回Base64字符串。
摘要由CSDN通过智能技术生成