邮件附件被拦截
外贸业务员小陈给德国客户发产品手册的 .ai 文件,对方邮件系统拒收,提示“文件类型不安全”。小陈用本工具查 .ai 的 MIME 类型为 application/postscript,确认不是可执行文件。他把截图和 RFC 定义附在邮件里,说服对方 IT 放行,订单没因技术问题卡住。
服务器返回 404 时,浏览器报错信息里只有一行 `text/html`,但运维需要确认它到底是不是一段纯文本 HTML。输入文件扩展名或粘贴一段文件头字节,这个工具返回对应的 MIME 类型字符串——它查的是 IANA 注册表里的官方映射,不是猜的。所有文件头嗅探都在浏览器本地完成,不上传任何内容。
外贸业务员小陈给德国客户发产品手册的 .ai 文件,对方邮件系统拒收,提示“文件类型不安全”。小陈用本工具查 .ai 的 MIME 类型为 application/postscript,确认不是可执行文件。他把截图和 RFC 定义附在邮件里,说服对方 IT 放行,订单没因技术问题卡住。
前端工程师老赵发现线上商品图在 Safari 上裂开,控制台报 MIME 类型错误。他用本工具查 .webp 的标准 MIME 是 image/webp,但服务器返回了 image/jpeg。他把 Nginx 配置里缺失的 mime.types 条目补上,图片恢复显示,不需要改任何前端代码。
音频剪辑师阿琳要给播客平台传一期节目,平台提示“不支持的文件格式”。她用本工具查 .m4a 的 MIME 类型是 audio/mp4,确认不是文件损坏。她改后缀为 .mp4 再传,平台识别正常——因为平台后端只按 MIME 白名单校验,不依赖扩展名。
档案管理员收到一批无扩展名的扫描文件,文件名全是“SCAN0001”。她用本工具的文件头嗅探功能,逐个查十六进制头:FF D8 FF 对应 .jpg,25 50 44 46 对应 .pdf。5 分钟把 200 个文件分类归入正确文件夹,不用逐个打开看内容。
后端实习生小张调用第三方支付接口,一直返回 HTTP 415 Unsupported Media Type。他用本工具查自己发的 Content-Type 是 application/x-www-form-urlencoded,而接口文档要求 application/json。改请求头后一次通过,排查时间从半小时降到 2 分钟。
| 输入 | 输出 | 说明 |
|---|---|---|
| .html | text/html | 常规:最常用的网页扩展名,验证基础映射是否准确 |
| .jpg | image/jpeg | 常规:常见图片格式,验证扩展名与MIME标准对应 |
| .json | application/json | 常规:API开发高频扩展名,验证应用类MIME |
| .svg | image/svg+xml | 边界:含加号的MIME类型,验证工具是否正确处理特殊字符 |
| .woff2 | font/woff2 | 边界:Web字体格式,验证较新扩展名是否被收录 |
| .abc | 未识别 | 边界:不存在的扩展名,验证工具对未知值的处理方式 |
| html(无点号) | text/html | 易错:用户常省略点号,验证工具是否自动补全或报错 |
| .TXT | text/plain | 易错:大写扩展名,验证工具是否大小写不敏感 |
1.用扩展名反查时带了点号
.pdfpdfMIME 类型查询的扩展名字段只接受纯扩展名字符串,前面的点号属于文件名格式,不是扩展名本身,加点多此一举且可能被工具当作非法字符过滤。
2.扩展名大小写混用,以为工具不识别
JPGjpg虽然大多数 MIME 映射表不区分大小写,但部分自定义映射或旧版系统只认小写。工具内部统一转小写处理,输入大写不会报错,但结果可能匹配不到。
3.用文件头嗅探时只给了文件名,没给文件内容
上传一个名为 image.png 但实际内容是文本的文件上传文件内容(二进制或十六进制片段)文件头嗅探依赖文件开头的魔数(magic number),不是文件名。只传文件名等于让工具猜,结果永远是 text/plain 或未知。
4.把 MIME 类型和文件扩展名搞反了
在扩展名输入框里填 application/jsonjson工具的两个输入方向是单向的:扩展名→MIME 或 MIME→扩展名。把 MIME 字符串填到扩展名框里,工具会把它当成一个不存在的扩展名去查,返回空。
5.以为所有 MIME 类型都对应唯一扩展名
输入 application/octet-stream,期望只返回 exeapplication/octet-stream 对应 exe、bin、dll 等几十种扩展名MIME 类型和扩展名是多对多关系。application/octet-stream 是通用二进制流类型,几乎所有未知二进制文件都用它,工具会列出所有关联扩展名。
6.用文件头嗅探时只复制了文件的前 2 个字节
只传 0x8950(PNG 前两个字节)至少传前 8 个字节,如 0x89504E470D0A1A0A大部分文件格式的魔数长度在 4~8 字节,仅靠前 2 字节无法唯一确定类型(比如 PNG 和 JPEG 前两个字节都是 0xFF 开头)。
7.把 HTTP Content-Type 里的 charset 参数也当成 MIME 类型输入
text/html; charset=utf-8text/htmlMIME 类型本体不含参数,分号后的 charset 是 HTTP 协议扩展。工具只解析分号前部分,带参数输入会导致匹配失败。
MIME = lookup(ext, magic_bytes)
ext文件扩展名,如 .pdfmagic_bytes文件头部若干字节,用于嗅探上传一个文件 test.pdf,扩展名 ext = .pdf,读取前 4 字节为 25 50 44 46(即 %PDF)。查询 MIME 表:.pdf → application/pdf;同时 magic_bytes 匹配 PDF 签名,确认无误。输出 MIME = application/pdf。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。