To detect file extension from the MIME type of a file, you can use the mime-types package from the NPM registry.

The mime-types package provides the extension() method that returns the default extension of the given content-type:

const mime = require('mime-types');

mime.extension('image/jpeg');    // jpeg

mime.extension('text/plain');    // txt

mime.extension('image/svg+xml');    // svg

mime.extension('application/octet-stream'); // bin

If the input string is not a valid MIME type, the extension() method would return false:

mime.extension('node/basic'); // false

mime.extension('image/jpg'); // false

If you already know the filename, you could use the built-in path module to get file extension:

const path = require('path');
path.extname('contract.pdf'); // .pdf

✌️ Like this article? Follow me on Twitter and LinkedIn. You can also subscribe to RSS Feed.