A little utility to get the mime-type from binary files.
Unlike mime, mime-sniffer uses magic numbers instead of file extensions to get a more accurate (and less easily faked) mime-type for a given file.
npm install mime-sniffer --save
var mime = require('mime-sniffer');
mime.lookup('/path/to/file.jpg', function(err, info) {
console.log(info); // { mime: 'image/jpeg', extension: 'jpg' }
});
You can also pass in a Buffer:
var fs = require('fs');
var mime = require('mime-sniffer');
mime.lookup(fs.readFileSync('/path/to/file.jpg'), function(err, info) {
// { mime: 'image/jpeg', extension: 'jpg' }
});
To see what file types are supported, take a peek in the lib/numbers.js
file.
Currently, mime-sniffer supports:
- gif
- png
- jpg
- webp
- tiff
- bmp
- mp4
- mov
- webm
- mp3
- ogg
- flac
- wav
MIT