Skip to content

FdezRomero/request-image-size

Repository files navigation

request-image-size

NPM

Detects image dimensions via request instead of Node.js native http/https, allowing for options and following redirects by default. It reduces network traffic by aborting requests as soon as image-size is able to obtain the image size.

Since version 2.0.0 it returns an ES6 native Promise that resolves with the size object or rejects with an Error. Requires Node.js v4+.

If you prefer using a callback, please use version 1.3.0 instead (docs)

Supports all the image formats supported by image-size:

  • BMP
  • CUR
  • GIF
  • ICO
  • JPEG
  • PNG
  • PSD
  • TIFF
  • WebP
  • SVG
  • DDS

Dependencies

Basic usage

const requestImageSize = require('request-image-size');

requestImageSize('http://nodejs.org/images/logo.png')
.then(size => console.log(size))
.catch(err => console.error(err));

Result:

{ width: 245, height: 66, type: 'png', downloaded: 856 }

Advanced usage

Specifying a request options object (docs):

const requestImageSize = require('request-image-size');

const options = {
  url: 'http://nodejs.org/images/logo.png',
  headers: {
    'User-Agent': 'request-image-size'
  }
};

requestImageSize(options)
.then(size => console.log(size))
.catch(err => console.error(err));

License

Copyright (c) 2017 Rodrigo Fernández Romero

Licensed under the MIT license.

Based on http-image-size from Johannes J. Schmidt.