我有以下问题。我们有一个带有图片上传功能的 Web 服务。当您尝试上传某些图像时,它会失败。这些图像具有正确的 MIMETYPE,它们不是 CMYK(至少 GIMP 说它们是 RGB 格式)。 抛出的异常是:“不支持的图像类型”! 尝试启动此命令时会出现问题:
BufferedImage img = ImageIO.read(new ByteArrayInputStream(image.getData()));
我挖得更深一点ImageIO.read(ImageInputStream stream)
,当他再次尝试关闭流时,真正的异常被抛出了!
public static BufferedImage read(ImageInputStream stream)
throws IOException {
if (stream == null) {
throw new IllegalArgumentException("stream == null!");
}
Iterator iter = getImageReaders(stream);
if (!iter.hasNext()) {
return null;
}
ImageReader reader = (ImageReader)iter.next();
ImageReadParam param = reader.getDefaultReadParam();
reader.setInput(stream, true, true);
BufferedImage bi;
try {
bi = reader.read(0, param);
} finally {
reader.dispose();
stream.close();
}
return bi;
}
抛出异常的图像是这样的,例如:
我希望有人可以帮助我弄清楚为什么会崩溃以及如何解决它!