У меня есть изображение, которое я получаю из URL-адреса, который не имеет расширения (jpg, gif, png и т. Д.).Как получить формат изображения из URL-адреса в Java?
У меня нет проблем с загрузкой изображения.
BufferedImage image = null;
URL url = new URL(link);
image = ImageIO.read(url);
Однако, я хотел знать расширение файла перед сохранением на диск. Я попробовал следующее, и ImageIO.createImageInputStream(image);
всегда возвращает null.
ImageInputStream iis = ImageIO.createImageInputStream(image);
//where image is BufferImage but it is always returning null.
while (imageReaders.hasNext()) {
ImageReader reader = imageReaders.next();
System.out.printf("formatName: %s%n", reader.getFormatName());
return ImageFormatTypes.valueOf(reader.getFormatName());
}
Любой совет будет оценен.
Это 'ImageIO.createImageInputStream (url)' (т. Е. Не 'образ'). Не читайте изображение, которое вам не нужно, если вы хотите сохранить только диск. – haraldK