![file -i 对于带有集成图像缩略图的 mp3,返回错误的 mime 类型](https://linux22.com/image/1263797/file%20-i%20%E5%AF%B9%E4%BA%8E%E5%B8%A6%E6%9C%89%E9%9B%86%E6%88%90%E5%9B%BE%E5%83%8F%E7%BC%A9%E7%95%A5%E5%9B%BE%E7%9A%84%20mp3%EF%BC%8C%E8%BF%94%E5%9B%9E%E9%94%99%E8%AF%AF%E7%9A%84%20mime%20%E7%B1%BB%E5%9E%8B.png)
如果我输入
$ file -i music.mp3
它返回 music.mp3:application/octet-stream; charset=binary
如果我清除此文件中的所有标签和图像,它可以正确识别 MIME 类型。
音乐.mp3:音频/mpeg;字符集=二进制
有没有什么解决方法或错误修复? 是否可以在不修改 mp3 文件的情况下获取正确的数据?
$ file --version
file-5.03
magic file from /etc/magic:/usr/share/misc/magic
答案1
file
我在 Ubuntu 10.04 上使用相同版本的 时遇到了同样的问题。我进行了修改/etc/magic
,并能够使我的 MP3 的 MIME 类型显示为audio/mpeg
。以下是我添加的几行:
# MPEG Layer 3 sound files
0 beshort &0xffe0 audio/mpeg
!:mime audio/mpeg
#MP3 with ID3 tag
0 string ID3 audio/mpeg
!:mime audio/mpeg
取自http://www.opensource.apple.com/source/file/file-23/file/magic/magic.mime
我没有太多编辑这个“神奇”指令的经验,所以我不能保证它的有效性或安全性。
答案2
/etc/magic
您可以向和添加自己的规则/etc/magic.mime
。请参阅man 5 magic
/usr/share/misc/magic
以及(或类似)的内容以获得灵感。