我有一台服务器,我想在其中压缩图像。当我写图像时,它从23MB变为650kb,没关系。但是,当我将其发送到我的客户端应用程序时,其大小将恢复为23MB。
public static BufferedImage getProfilePicture(String username) throws IOException {
File input = new File(profilePicturePath + File.separatorChar + username + ".png");
BufferedImage image = ImageIO.read(input);
rewriteImage(image);
return image;
}
public static String getProfilePictureBase64(String username) throws IOException {
BufferedImage img = getProfilePicture(username);
final ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(img, "png", os);
return Base64.getEncoder().encodeToString(os.toByteArray());
}
所以我的问题是:如何保持压缩大小以将图像发送给我的客户?