8000 GitHub - sindresorhus/image-type at v2.0.1
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

sindresorhus/image-type

Repository files navigation

image-type Build Status

Detect the image type of a Buffer/Uint8Array

See the file-type module for more file types.

Install

$ npm install --save image-type

Usage

Node.js
var readChunk = require('read-chunk'); // npm install read-chunk
var imageType = require('image-type');
var buffer = readChunk.sync('unicorn.png', 0, 12);

imageType(buffer);
//=> {ext: 'png', mime: 'image/png'}

or from a remote location:

var http = require('http');
var imageType = require('image-type');
var url = 'http://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif';

http.get(url, function (res) {
	res.once('data', function (chunk) {
		res.destroy();
		console.log(imageType(chunk));
		//=> {ext: 'gif', mime: 'image/gif'}
	});
});
Browser
var xhr = new XMLHttpRequest();
xhr.open('GET', 'unicorn.png');
xhr.responseType = 'arraybuffer';

xhr.onload = function () {
	imageType(new Uint8Array(this.response));
	//=> {ext: 'png', mime: 'image/png'}
};

xhr.send();

API

imageType(buffer)

Returns an object (or null when no match) with:

buffer

Type: buffer (Node.js), uint8array

It only needs the first 12 bytes.

CLI

$ npm install --global image-type
$ image-type --help

  Usage
    image-type <filename>
    cat <filename> | image-type

  Example
    cat unicorn.png | image-type
    png

Supported file types

  • jpg
  • png
  • gif
  • webp
  • tif
  • bmp
  • jxr
  • psd

SVG isn't included as it requires the whole file to be read, but you can get it here.

License

MIT © Sindre Sorhus

About

Detect the image type of a Buffer/Uint8Array

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 7

0