mime-types
The ultimate javascript content-type utility.
Similar to the [email protected] module, except:
- No fallbacks. Instead of naively returning the first available type,
mime-typessimply returnsfalse, so dovar type = mime.lookup('unrecognized') || 'application/octet-stream'. - No
new Mime()business, so you could dovar lookup = require('mime-types').lookup. - No
.define()functionality - Bug fixes for
.lookup(path)
Otherwise, the API is compatible with mime 1.x.
Install
This is a Node.js module available through the npm registry. Installation is done using the npm install command:
1 | $ npm install mime-types |
Adding Types
All mime types are based on mime-db, so open a PR there if you'd like to add mime types.
API
1 | var mime = require('mime-types') |
All functions return false if input is invalid or not found.
mime.lookup(path)
Lookup the content-type associated with a file.
1 | mime.lookup('json') // 'application/json' |
mime.contentType(type)
Create a full content-type header given a content-type or extension. When given an extension, mime.lookup is used to get the matching content-type, otherwise the given content-type is used. Then if the content-type does not already have a charset parameter, mime.charset is used to get the default charset and add to the returned content-type.
1 | mime.contentType('markdown') // 'text/x-markdown; charset=utf-8' |
mime.extension(type)
Get the default extension for a content-type.
1 | mime.extension('application/octet-stream') // 'bin' |
mime.charset(type)
Lookup the implied default charset of a content-type.
1 | mime.charset('text/markdown') // 'UTF-8' |
var type = mime.types[extension]
A map of content-types by extension.
[extensions...] = mime.extensions[type]
A map of extensions by content-type.