This fork contains the fix for FdezRomero#22. Some JPG images require more than one chunk to be properly analyzed so it shouldn't throw an error for a first chunk analysis.
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
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 }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));Copyright (c) 2017 Rodrigo Fernández Romero
Licensed under the MIT license.
Based on http-image-size from Johannes J. Schmidt.
