Если я войду
$ file -i music.mp3
он возвращает music.mp3: application/octet-stream; charset=binary
Если я удалю все теги и изображения в этом файле, он правильно распознает тип MIME.
music.mp3: аудио/mpeg; кодировка=двоичная
Есть ли обходной путь или исправление ошибки? Можно ли получить правильные данные, не изменяя mp3-файл?
$ file --version
file-5.03
magic file from /etc/magic:/usr/share/misc/magic
решение1
У меня была та же проблема с той же версией file
на Ubuntu 10.04. Я изменил /etc/magic
и смог заставить MIME-тип моих MP3 отображаться как 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
(или подобное) для вдохновения.