detect-content-type

detect-content-type implements the algorithm described at http://mimesniff.spec.whatwg.org/ to determine the Content-Type of the given data. It considers at most the first 512 bytes of data. It always returns a valid MIME type: if it cannot determine a mo

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
detect-content-type
441.2.05 years ago5 years agoMinified + gzip package size for detect-content-type in KB

Readme

detect-content-type
Javascript module to determine the Content-Type of the given data, using the algorithm specified in the MIME Sniffing Standard.
This module is useful in cases where it is not possible to determine the Content-Type of the data using filename extension, either because file does not have an extension or the filename is not available.

Installation

npm install detect-content-type

or
yarn add detect-content-type

Import

ES6 and above:
import detectContentType from 'detect-content-type'

Using CommonJS:
var detectContentType = require('detect-content-type')

Usage

detectContentType takes a Buffer, and determines its Content-Type. It considers at most 512 bytes of data. detectContentType always returns a valid MIME type. If it cannot determine a more specific one, it returns application/octet-stream.
let ct = detectContentType(Buffer.from("<html><body></body></html>")) // returns 'text/html; charset=utf-8'

Credits

The code in this module is ported nearly line-by-line from the http.DetectContentTypeDetectContentType method in the Go standard library.