怎样才能得到官方的IANA 图像媒体类型(如果有)二进制流?我想在处理图像时避免信任文件扩展名和模糊的猜测。最好使用一些常用工具(如 ImageMagick's)的命令identify
,或者如果需要的话使用一些编程语言。
答案1
你可以使用file
命令。默认情况下,它在大多数 Linux 发行版上可用,您可以通过以下方式获取 Windows 版本:GnuWin32文件包。
调用它:
$ file --mime-type clock.png
clock.png: image/png
请注意,它并不是 100% 准确的——我认为任何事情都不能从理论上实现。
如果你想在代码中做到这一点,那么libmagic
它提供了一个API。它可以处理文件或内存缓冲区。 (file
在 Linux 上使用它。)