如果我輸入
$ file -i music.mp3
它返回 music.mp3: application/octet-stream;字符集=二進位
如果我擦除此文件中的所有標籤和圖像,它會正確識別 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
以及(或類似)的內容以獲得靈感。