- Minor change: Better error handling by returning an error of type
HttpErrorif the response status code is 4xx/5xx, instead of the genericTypeError: unsupported file type: undefined (file: undefined)passed byimage-size. Fixes #8, thanks to @Arturszott and @dustingraves for their contribution.
- Breaking change:
request-image-sizenow returns an ES6 native promise instead of using a callback. Please read about the new API in the README. Requires Node.js v4+. - Updated
image-sizeto 0.6.1, adds support for ICO/CUR.
This is the last version using a callback instead of returning a promise.
var requestImageSize = require('request-image-size');
requestImageSize('http://nodejs.org/images/logo.png', function(err, size, downloaded) {
if (err) {
return console.error('An error has ocurred:', error);
}
if (!size) {
return console.error('Could not get image size');
}
console.log('Image is %dpx x %dpx, downloaded %d bytes', size.width, size.height, downloaded);
});Specifying a request options object (docs):
var requestImageSize = require('request-image-size');
var options = {
url: 'http://nodejs.org/images/logo.png',
headers: {
'User-Agent': 'request-image-size'
}
};
requestImageSize(options, function(err, size, length) {
console.log(err, size, length);
});The callback receives three arguments: err, size, downloaded:
errreturns anErrorobject if anything goes wrong.sizeis in the form{ width: 245, height: 66, type: 'png' }.downloadedis the number of bytes downloaded before being able to extract the image size.