ImageIO - 获取图像类型和exif数据

jde*_*lop 25 java javax.imageio

给定一些源文件(或更通用的 - 输入流),我需要找出答案

  • 它是一个图像
  • 如果是图像,则检索其类型(png/jpeg/gif/etc)
  • 检索exif数据(如果有)

我查看了API,但目前尚不清楚如何获取图像类型或Exif数据.

Ope*_*uce 29

上次我不得不这样做,几年前,标准API无法读取EXIF数据.这个库可以这样做:

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


mat*_*rns 15

简单回答:使用https://github.com/drewnoakes/metadata-extractor/

如果你是疯狂/勇敢/好奇,你可以通过读取前几个字节(这些是幻数)从流中获取图像类型.我相信exif通常也在流的开头.

  • 幻数链接 → 错误 403 禁止。 (2认同)

Eur*_*fer 8

这是一个旧线程,但我最近这样做,发现Apache Tika库很有用.特别是用于分析通用流以检测其中的内容.

认为它可能会帮助别人.

http://tika.apache.org/

  • 请注意,Tika使用了元数据提取器:). (8认同)