MIME格式解析库
以下内容由 AI 翻译,如有问题请 点此提交 issue 反馈
![]()
用于 MIME 类型信息的 API
特性
- 🚀 支持 所有
mime-db类型 - 🚀 支持 无额外依赖
![]()
源码目录
.
├── README.md
├── doc
├── test
└── src
doc存放库的设计文档、提案、库的使用文档test存放用例src存放库源码目录
接口说明
主要是核心类和成员函数说明,详情见 API
![]()
编译(win/linux)
cjpm build
示例
完整版(800+ MIME 类型,1,000+ 扩展名)
import mime.*
MIME.getType('txt') // ⇨ 'text/plain'
MIME.getExtension('text/plain') // ⇨ 'txt'
精简版
MIME_LITE是轻量级替代版本,移除了非官方类型(如 "prs."、"x-" 和 "vnd.*" 前缀的 MIME 类型)
import MIME.*
MIME_LITE.getType('txt') // ⇨ 'text/plain'
MIME_LITE.getExtension('text/plain') // ⇨ 'txt'
MIME.getType(pathOrExtension)
使用指定文件路径或扩展名获取MIME类型
MIME.getType('js') // ⇨ 'text/javascript'
MIME.getType('json') // ⇨ 'application/json'
MIME.getType('txt') // ⇨ 'text/plain'
MIME.getType('dir/text.txt') // ⇨ 'text/plain'
MIME.getType('dir\\text.txt') // ⇨ 'text/plain'
MIME.getType('.text.txt') // ⇨ 'text/plain'
MIME.getType('.txt') // ⇨ 'text/plain'
若extension未检测到或未经验证 返回None
MIME.getType('foo/txt') // ⇨ None
MIME.getType('bogus_type') // ⇨ None
MIME.getExtension(type)
根据指定的 MIME 类型获取对应的文件扩展名,自动忽略字符集参数(常见于 Content-Type 头信息)
MIME.getExtension('text/plain') // ⇨ 'txt'
MIME.getExtension('application/json') // ⇨ 'json'
MIME.getExtension('text/html; charset=utf8') // ⇨ 'html'
MIME.getAllExtensions(type)
获取指定 MIME 类型对应的所有文件扩展名
MIME.getAllExtensions('image/jpeg') // ⇨ [ 'jpeg', 'jpg', 'jpe' ]
自定义Mime对象
默认mime对象不可更改,创建自定义mime对象。
let customTypes : HashMap<String,Array<String>> = HashMap()
let mime = Mime(customTypes)
每个参数都会被传递给下方的 define() 方法。例如,Mime(standardTypes, otherTypes) 等同于 Mime().define(standardTypes).define(otherTypes)
定义type->extensions映射
定义 MIME type -> extensions。
尝试将类型映射到已定义的扩展名时会抛出错误,除非将 force 参数设为 true。
...
mime.define(HashMap([('text/x-abc', ['abc', 'abcd'])]))
mime.getType('abcd') // ⇨ 'text/x-abc'
mime.getExtension('text/x-abc') // ⇨ 'abc'
约束与限制
在下述版本验证通过:
| 编号 | 依赖构建工具 | 版本号 |
|---|---|---|
| 1 | cjc | v1.1.3 |
开源协议
本项目基于 MIT License,请自由享受和参与开源。
![]()
欢迎给我们提交PR,欢迎给我们提交Issue,欢迎参与任何形式的贡献。
贡献者:@chenyunda218