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 returns 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.