什么是 MIME 类型?
MIME
(多用途 Internet
邮件扩展)的类型来识别文件格式。 MIME
类型构成了 Internet
上对文件类型进行分类的标准方法。
MIME Type
是用于描述文件的类型的一种表述方法,其将文件划分为多种类型,方便对其进行统一的管理。MIME Type
指定了文件的类型名称、描述、图标信息,同时通过与.desktop应用程序描述文件整合,指定了文件的打开方式。
MIME
类型名字遵循指定的格式:
类型和子类型, 在 MIME 类型中,类型和子类型不区分大小写。
1 | media-type/subtype-identifier |
目前,有十种注册类型:application
,audio
,example
,font
,image
,message
,model
,multipart
,text
和video
。
例如:
1 | multipart/form-data |
完整MIME 类型示例:
1 | application/vnd.api+json |
application
作为类型,api
作为子类型,vnd
是厂商前缀,+json
是后缀,表示可以解析为JSON
。
获取文件的 MIME 类型
xdg-mime命令
显示文件的
MIME
类型:1
xdg-mime query filetype {file}
例如:
1
2➜ xdg-mime query filetype one.jpg
image/jpeg显示
MIME
类型的默认应用程序1
xdg-mime query default {mimetype}
例如:
1
2
3➜ xdg-mime query default image/jpeg
/usr/share/applications/deepin-image-viewer.desktop显示文件默认应用程序的语法
1
xdg-mime query default "$(xdg-mime query filetype {file})"
例如:
1
2xdg-mime query default \
`xdg-mime query filetype "$(find ~ / -iname '*.png' -print -quit)"`设置
MIME
类型的默认打开应用程序1
xdg-mime default dekstop filetype
例如:
1
xdg-mime default dde-file-manager.desktop inode/directtory
file 命令
查询文件类型:
1
file --mime-type INPUT_FILE
例如:
1
2➜ file --mime-type one.jpg
one.jpg: inode/symlink
自定义的 MIME 类型
如需为系统上的所有用户添加一个自定义的 MIME
类型,并为该 MIME
类型注册一个默认的应用程序,您需要在 /usr/share/mime/packages/
目录下创建一个新的 MIME
类型说明文件,在 /usr/share/applications/
目录下创建一个 .desktop
文件。
比如我们创建一个application/x-newtype
类型:
创建 /usr/share/mime/packages/application-x-newtype.xml 文件
1
2
3
4
5
6
7<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-newtype">
<comment>new mime type</comment>
<glob pattern="*.xyz"/>
</mime-type>
</mime-info>上述
application-x-newtype.xml
文件定义了一种新的MIME
类型application/x-newtype
,并指定拓展名是.xyz
的文件为该MIME
类型。创建一个名为例如
myapplication1.desktop
的新的.desktop
文件,并将它放置在/usr/share/applications/
目录下:1
2
3
4
5[Desktop Entry]
Type=Application
MimeType=application/x-newtype
Name=My Application 1
Exec=myapplication1请以
root
身份更新MIME
数据库以使您的更改生效:1
➜ update-mime-database /usr/share/mime
请以
root
身份更新应用程序数据库:1
➜ update-desktop-database /usr/share/applications
如需为个别用户添加自定义的 MIME
类型,并为该MIME
类型注册一个默认的应用程序,您需要在 ~/.local/share/mime/packages/
目录下创建一个新的 MIME
类型说明文件,并在 ~/.local/share/applications/
目录下创建一个 .desktop
文件。