333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# mime
 
Comprehensive MIME type mapping API based on mime-db module.
 
## Install
 
Install with [npm](http://github.com/isaacs/npm):
 
    npm install mime
 
## Contributing / Testing
 
    npm run test
 
## Command Line
 
    mime [path_string]
 
E.g.
 
    > mime scripts/jquery.js
    application/javascript
 
## API - Queries
 
### mime.lookup(path)
Get the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.').  E.g.
 
```js
var mime = require('mime');
 
mime.lookup('/path/to/file.txt');         // => 'text/plain'
mime.lookup('file.txt');                  // => 'text/plain'
mime.lookup('.TXT');                      // => 'text/plain'
mime.lookup('htm');                       // => 'text/html'
```
 
### mime.default_type
Sets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)
 
### mime.extension(type)
Get the default extension for `type`
 
```js
mime.extension('text/html');                 // => 'html'
mime.extension('application/octet-stream');  // => 'bin'
```
 
### mime.charsets.lookup()
 
Map mime-type to charset
 
```js
mime.charsets.lookup('text/plain');        // => 'UTF-8'
```
 
(The logic for charset lookups is pretty rudimentary.  Feel free to suggest improvements.)
 
## API - Defining Custom Types
 
Custom type mappings can be added on a per-project basis via the following APIs.
 
### mime.define()
 
Add custom mime/extension mappings
 
```js
mime.define({
    'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],
    'application/x-my-type': ['x-mt', 'x-mtt'],
    // etc ...
});
 
mime.lookup('x-sft');                 // => 'text/x-some-format'
```
 
The first entry in the extensions array is returned by `mime.extension()`. E.g.
 
```js
mime.extension('text/x-some-format'); // => 'x-sf'
```
 
### mime.load(filepath)
 
Load mappings from an Apache ".types" format file
 
```js
mime.load('./my_project.types');
```
The .types file format is simple -  See the `types` dir for examples.