Подтвердить что ты не робот

ImageIO - получить тип изображения и данные exif

Учитывая некоторый исходный файл (или более общий - входной поток), мне нужно выяснить

  • это изображение
  • если это изображение, затем введите его тип (png/jpeg/gif/etc)
  • извлекать exif-данные, если они доступны

Я просмотрел API, но неясно, как получить тип изображения или данные Exif.

4b9b3361

Ответ 1

В прошлый раз, когда я должен был это сделать, пару лет назад стандартный API не смог прочитать данные EXIF. Эта библиотека может сделать это, хотя:

http://www.drewnoakes.com/code/exif/

Ответ 2

Легкий ответ: Используйте https://github.com/drewnoakes/metadata-extractor/

Если вы сумасшедшие/смелые/любопытные, вы можете получить тип изображения из потока, прочитав первые несколько байтов (это магические числа). Я считаю, что exif обычно находится в начале потока.

Ответ 3

Это старый поток, но я делал это недавно и нашел полезную библиотеку Apache Tika. В частности, для анализа общих потоков для определения того, какой контент в них.

Думал, что это может помочь другим.

http://tika.apache.org/