Mime-Types
媒體類型的辨識器儲存在哪里以及如何添加?
當編寫一個 html 文件時,linux 可以聲明 MIME 類型是 text/html。這是如何處理的?“辨識器”儲存在哪裡?如何使用已實現的辨識器添加 MIME 類型?
通常有 2 個庫可以處理這個問題。shared-mime-info庫是最大的庫。然而,還有提供“libmagic”的文件實用程序。
這些中的每一個都維護自己的數據庫。然而,shared-mime-info 更為常見,並且被設計為可擴展的。
至於如何添加條目,我係統上的位置是
/usr/share/mime
,儘管它可能因發行版而異。基本上,您只需在其中添加一個 xml 文件,該文件說明如何辨識您的文件格式(在我的系統上,包將它們的文件放在/usr/share/mime/packages
.添加 xml 文件後,使用
update-mime-database
命令重新生成記憶體。(在 shared-mime-info 項目網站上有一個很好的教程:http: //freedesktop.org/wiki/Specifications/AddingMIMETutor/)
他們的範例文件如下所示:
<?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="image/png"> <comment xml:lang="en">PNG image</comment> <comment xml:lang="af">png beeld</comment> ... <magic priority="50"> <match type="string" value="\x89PNG" offset="0"/> </magic> <glob pattern="*.png"/> </mime-type> </mime-info>
xml 文件的完整規範等一般資源也最好從項目站點獲得:http: //freedesktop.org/wiki/Specifications/shared-mime-info-spec/