首页 > 解决方案 > 确定文件是否支持 Java 中的 Exif 标头

问题描述

我正在使用 Java 和库元数据提取器来处理文件元数据。

我想要的是可靠地检查文件是否支持 Exif 标头(如果标头中尚不可用,是否支持它)。

据我所知,JPEG 和 TIFF 以及一些 PNG(以及其他)支持 Exif 标头。

目前我只是检查 JPEG 或 TIFF 的文件类型(通过使用 FileTypeDetector::detectFileType),但是否可以在不检查文件类型的情况下可靠地确定文件是否支持 Exif 标头?然后也可以考虑也支持 Exif 标头的其他格式的文件。

提前致谢!

标签: javaexifmetadata-extractor

解决方案


是否可以在不检查文件类型的情况下可靠地确定文件是否支持 Exif 标头?

不。没有办法通过检查文件来“检测”文件是否支持 Exif 元数据(术语“Exif 标头”是用词不当)。我认为您当前确定文件格式的方式,并保留您知道支持 Exif 的格式列表是有意义的。


请注意,支持 Exif 元数据的每种文件格式通常将其包装在“本机”(如格式自己的)容器结构中,因此您通常必须为要添加 Exif 元数据的每种格式添加自定义代码。唯一的例外是 TIFF,因为 Exif 元数据基于 TIFF 格式。另请参阅有关 Exif 的 Wikipedia

当然,技术上可以将 Exif 元数据附加或插入到任何文件中,但这通常会导致文件损坏或 Exif 元数据将被其他软件忽略。


推荐阅读