Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
The
imghdr
module determines the type of image contained in a file or octet-streams(object of Buffer), inspired by Python's imghdr module.
npm install imghdr
var imghdr = require('imghdr');
var imgPath = __dirname + '/meituan.jpg';
var ext = 'jpg';
var exts = imghdr.what(imghdr);
console.log(exts);
// => ['jpg', 'jpeg']
if (exts.indexOf(ext) === -1) {
console.log('The `' + imgPath + '`\'s extension is not a `' + ext + '`');
} else {
console.log('OK');
}
// => 'OK'
The imghdr
module defines the following function:
Tests the image data contained in the file named by
imgPath
, and returns an array of strings describing the image type.imgPath
can be a object of Buffer.
Value | Image format |
---|---|
"png" | Portable Network Graphics |
"jpeg","jpg" | JPEG data in JFIF or Exif formats |
"gif" | GIF 87a and 89a Files |
"tiff" | Tagged Image File Format |
"bmp" | BMP files |
"webp" | WebP files |
You can extend the list of file types imghdr
can recognize by appending to this variable:
A list of functions performing the individual tests. Each function takes a argument: the octet-streams(object of Buffer).The test function should return an array of strings describing the image type if the test succeeded, or
[]
if it failed.
Example:
function testCustom(buf) {
var sigBuf = new Buffer([0x6c, 0x6f, 0x76, 0x65]);
var testSigBuf = buf.slice(2, 6);
return (sigBuf.toString() == testSigBuf.toString()) ? ['custom'] : [];
}
// add to list of `tests`
imghdr.tests.push(testCustom);
var testBuf = new Buffer([0x49, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x20, 0x79, 0x6f, 0x75]);
imghdr.what(testBuf);
// => ['custom']
MIT
FAQs
Determines the type of image.
We found that imghdr demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.