file -i 對於具有集成圖像縮圖的 mp3 返回錯誤的 mime 類型

file -i 對於具有集成圖像縮圖的 mp3 返回錯誤的 mime 類型

如果我輸入

$ 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以及(或類似)的內容以獲得靈感。

相關內容