无需登录 数据私有 本地保存

文件扩展名检测器 - 根据MIME类型推断后缀

11
0
0
0

文件扩展名检测器

MIME类型 ↔ 文件扩展名 双向查询 · 内置 80+ 条映射

参考表
MIME → 扩展名 根据MIME类型推断文件后缀
输入MIME类型,自动显示对应扩展名
快速尝试: json · png · mp4 · pdf
扩展名 → MIME 根据文件后缀查找MIME类型
输入文件扩展名,自动显示对应MIME类型
快速尝试: .html · .css · .svg · .zip
-
总映射数
-
图片类
-
音频类
-
视频类
MIME类型参考表
全部 应用类 图片类 音频类 视频类 文本类 字体类
MIME类型 扩展名 分类 描述
- 条记录
常见问题与知识点

MIME(Multipurpose Internet Mail Extensions)类型,也称为Content-Type,是互联网上用于标识文件内容格式的标准。它由类型(type)和子类型(subtype)组成,中间用斜杠分隔,如 text/htmlimage/png。MIME类型在HTTP通信中至关重要——服务器通过Content-Type响应头告诉浏览器如何处理接收到的数据,浏览器据此决定是渲染页面、显示图片还是触发下载。错误的MIME类型可能导致文件无法正确打开、安全警告甚至XSS漏洞。

并非完全一一对应。一个MIME类型可以对应多个扩展名(如 image/jpeg 对应 .jpg.jpeg),反之一个扩展名有时也可能被用于不同类型的文件。此外,某些MIME类型(如 application/octet-stream)是通用二进制类型,不代表特定文件格式。因此,仅凭扩展名判断文件类型并不完全可靠,服务端应结合文件内容(魔数/magic bytes)进行验证。

Web开发中最常用的MIME类型包括:text/html(HTML文档)、text/css(样式表)、application/javascript(JS脚本)、application/json(JSON数据)、image/svg+xml(SVG矢量图)、image/pngimage/webpfont/woff2(Web字体)。随着Web技术的发展,application/wasm(WebAssembly)和 application/manifest+json(PWA清单)也越来越常见。建议始终为静态资源配置正确的MIME类型以确保浏览器正确解析。

不同服务器配置方式不同:
Nginx:使用 mime.types 文件或在 nginx.conf 中用 types { } 块定义。
Apache:通过 .htaccessAddType 指令或 mime.types 文件。
Node.js (Express):使用 express.static() 时自动处理,也可手动设置 res.set('Content-Type', '...')
Cloudflare/CDN:通常自动识别,也可在控制台自定义规则。
正确配置MIME类型有助于浏览器缓存策略、安全策略(CSP)和用户体验。

浏览器端可以通过以下方式检测:
File APIfile.type 属性返回文件的MIME类型(基于扩展名,由浏览器判断)。
FileReader:读取文件头魔数(magic bytes),例如PNG文件头为 89 50 4E 47,JPEG为 FF D8 FF。这比扩展名更可靠。
fetch/XMLHttpRequest:请求资源后读取 response.headers.get('Content-Type')
需要注意的是,前端检测有一定局限性,精确的MIME类型判断应在服务端完成。

application/octet-stream 是通用的二进制文件MIME类型,表示"未知的8位字节流"。当服务器无法确定文件类型时,通常会默认使用此MIME类型。浏览器遇到此类型时通常会触发下载而非尝试渲染。常见使用场景:可执行文件(.exe)、动态生成的下载文件、以及作为安全措施强制下载(避免浏览器直接渲染敏感文件)。开发时应尽量避免滥用,为已知类型配置正确的MIME类型有利于用户体验和带宽优化。