在使用Thumbnails压缩图片的时候,对某些类别的图片会报错:
报错的代码块:
InputStream inputStream = new FileInputStream(new File("aaa.png"));
String path = StrUtil.format("dest{}.png", 1);
File distFile = new File(path);
Thumbnails.of(inputStream).scale(quality)
.outputQuality(1)
.toFile(distFile);
一般情况下,该语句不会报错。对某些png格式的图片,就会报错了。通过deepseek,得知:
修改后的代码块:
InputStream inputStream = new FileInputStream(new File("aaa.png"));
String path = StrUtil.format("dest{}.png", 1);
File distFile = new File(path);
byte[] imageBytes = IOUtils.toByteArray(inputStream);
ByteArrayInputStream bis = new ByteArrayInputStream(imageBytes);
Thumbnails.of(bis).scale(quality).outputQuality(1).toFile(distFile);
至此解决该问题。