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