常见 MIME 类型完整列表
MIME(Multipurpose Internet Mail Extensions),HTTP Content-Type 头部使用,格式:类型/子类型; charset=编码
通用规则:
text/*:文本类,通常指定 charset=utf-8application/*:二进制、程序、文档image/*:图片audio/*:音频video/*:视频multipart/*:多部分表单/混合文件
一、文本类 text/*
| 文件后缀 | MIME 类型 | 说明 |
|---|
.txt | text/plain | 纯文本 |
.html, .htm | text/html | HTML网页 |
.css | text/css | 样式表 |
.js | text/javascript | JavaScript(旧:application/javascript) |
.json | application/json | ✅ JSON(不属于text,很多人搞错) |
.xml | text/xml / application/xml | XML,推荐application/xml |
.csv | text/csv | 逗号分隔表格 |
.md | text/markdown | Markdown |
.svg | image/svg+xml | ✅ SVG属于图片,不是text |
.rtf | text/rtf | 富文本 |
二、应用/二进制类 application/*
| 文件后缀 | MIME 类型 | 说明 |
|---|
.json | application/json | JSON数据 |
.pdf | application/pdf | PDF文档 |
.zip | application/zip | ZIP压缩包 |
.7z | application/x-7z-compressed | 7zip压缩包 |
.rar | application/vnd.rar | RAR压缩包 |
.tar | application/x-tar | tar包 |
.gz | application/gzip | gz压缩 |
.bz2 | application/x-bzip2 | bzip2 |
.exe | application/octet-stream | Windows可执行二进制流 |
.bin | application/octet-stream | 通用未知二进制文件 |
.apk | application/vnd.android.package-archive | Android安装包 |
.msi | application/x-msi | Windows安装包 |
.doc | application/msword | Word 97-2003 |
.docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document | Word新版 |
.xls | application/vnd.ms-excel | Excel 97-2003 |
.xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Excel新版 |
.ppt | application/vnd.ms-powerpoint | PPT 97-2003 |
.pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation | PPT新版 |
.odt | application/vnd.oasis.opendocument.text | OpenDocument文字 |
.ods | application/vnd.oasis.opendocument.spreadsheet | OpenDocument表格 |
.odp | application/vnd.oasis.opendocument.presentation | OpenDocument演示 |
.epub | application/epub+zip | Epub电子书 |
.wasm | application/wasm | WebAssembly |
.ttf | font/ttf | ✅ 字体,不属于application |
.woff | font/woff | WOFF字体 |
.woff2 | font/woff2 | WOFF2字体 |
.otf | font/otf | OpenType字体 |
.form-data | multipart/form-data | 表单上传 |
.http-form-urlencoded | application/x-www-form-urlencoded | URL编码表单 |
三、图片类 image/*
| 文件后缀 | MIME 类型 | 说明 |
|---|
.jpg, .jpeg | image/jpeg | JPG图片 |
.png | image/png | PNG |
.gif | image/gif | GIF动图 |
.bmp | image/bmp | BMP位图 |
.webp | image/webp | WebP(谷歌高效图片) |
.avif | image/avif | AVIF图片 |
.svg | image/svg+xml | SVG矢量图 |
.ico | image/x-icon | 网站图标 favicon |
.tiff, .tif | image/tiff | TIFF印刷图 |
四、音频 audio/*
| 文件后缀 | MIME 类型 | 说明 |
|---|
.mp3 | audio/mpeg | MP3 |
.wav | audio/wav / audio/x-wav | WAV无损 |
.ogg | audio/ogg | Ogg音频 |
.flac | audio/flac | FLAC无损 |
.aac | audio/aac | AAC音频 |
.m4a | audio/mp4 | M4A音频 |
五、视频 video/*
| 文件后缀 | MIME 类型 | 说明 |
|---|
.mp4 | video/mp4 | MP4视频 |
.webm | video/webm | WebM |
.ogg | video/ogg | Ogg视频 |
.mov | video/quicktime | QuickTime MOV |
.avi | video/x-msvideo | AVI |
.mkv | video/x-matroska | MKV |
.flv | video/x-flv | FLV |
六、字体 font/*
| 文件后缀 | MIME 类型 |
|---|
.ttf | font/ttf |
.otf | font/otf |
.woff | font/woff |
.woff2 | font/woff2 |
七、multipart 多部分类型
| MIME | 用途 |
|---|
multipart/form-data | 文件上传表单 |
multipart/byteranges | HTTP分段断点续传 |
八、常用编码补充
text/plain; charset=utf-8
text/html; charset=utf-8
text/css; charset=utf-8
application/json; charset=utf-8
文本类型一般追加字符集:
text/plain; charset=utf-8
text/html; charset=utf-8
text/css; charset=utf-8
application/json; charset=utf-8
九、易错点汇总
- ❌
text/json → ✅ application/json - ❌
application/svg → ✅ image/svg+xml - ❌
application/js → ✅ text/javascript - 二进制未知文件统一用:
application/octet-stream,浏览器会直接下载
十、Node.js / Nginx 快速映射简版(可直接复制配置)
.txt text/plain
.html text/html
.css text/css
.js text/javascript
.json application/json
.png image/png
.jpg image/jpeg
.gif image/gif
.webp image/webp
.svg image/svg+xml
.pdf application/pdf
.zip application/zip
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
.mp4 video/mp4
.mp3 audio/mpeg
.woff2 font/woff2
如果你需要,我可以输出:
- JSON格式的MIME映射表(程序直接读取)
- Nginx
mime.types 完整配置片段 - Node.js 静态服务 mime 映射对象
{
".txt": "text/plain",
".html": "text/html",
".htm": "text/html",
".css": "text/css",
".js": "text/javascript",
".json": "application/json",
".xml": "application/xml",
".csv": "text/csv",
".md": "text/markdown",
".rtf": "text/rtf",
".pdf": "application/pdf",
".zip": "application/zip",
".7z": "application/x-7z-compressed",
".rar": "application/vnd.rar",
".tar": "application/x-tar",
".gz": "application/gzip",
".bz2": "application/x-bzip2",
".bin": "application/octet-stream",
".exe": "application/octet-stream",
".apk": "application/vnd.android.package-archive",
".msi": "application/x-msi",
".doc": "application/msword",
".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
".xls": "application/vnd.ms-excel",
".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
".ppt": "application/vnd.ms-powerpoint",
".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
".odt": "application/vnd.oasis.opendocument.text",
".ods": "application/vnd.oasis.opendocument.spreadsheet",
".odp": "application/vnd.oasis.opendocument.presentation",
".epub": "application/epub+zip",
".wasm": "application/wasm",
".jpg": "image/jpeg",
".jpeg": "image/jpeg",
".png": "image/png",
".gif": "image/gif",
".bmp": "image/bmp",
".webp": "image/webp",
".avif": "image/avif",
".svg": "image/svg+xml",
".ico": "image/x-icon",
".tiff": "image/tiff",
".tif": "image/tiff",
".mp3": "audio/mpeg",
".wav": "audio/wav",
".ogg": "audio/ogg",
".flac": "audio/flac",
".aac": "audio/aac",
".m4a": "audio/mp4",
".mp4": "video/mp4",
".webm": "video/webm",
".mov": "video/quicktime",
".avi": "video/x-msvideo",
".mkv": "video/x-matroska",
".flv": "video/x-flv",
".ttf": "font/ttf",
".otf": "font/otf",
".woff": "font/woff",
".woff2": "font/woff2"
}
使用说明
- Key 统一带前缀
.,方便直接用 path.extname() 获取后缀后匹配 - 没有匹配到后缀时,默认 fallback:
application/octet-stream - 文本类如需
charset=utf-8,代码里额外拼接,不要写在这份映射里(如 text/plain; charset=utf-8)
JS 使用示例
javascript
const mimeMap = {
".txt": "text/plain",
// ...上面全部
};
function getMime(ext) {
ext = ext.toLowerCase();
return mimeMap[ext] || "application/octet-stream";
}
要不要我再输出一份反向映射(MIME -> 文件后缀)的JSON备用?