检查图像是否是有效的PNG文件

我有在二进制格式下载图像的麻烦,有时下载的文件是损坏的图像。

所以我需要检查下载的文件是否是一个有效的PNG图像。

我已经尝试过这个库是Is-png ,但它只读取文件的前8个字节,并不考虑整个文件。

所以我需要找一个能检查整个文件是否有效的库。

请提出实现这个最好的方法,也许有一些伟大的工具已经存在。

谢谢

GraphicsMagick和ImageMagick节点可以检测到损坏的图像。 如果图像损坏,您可以使用.identify返回错误。

var gm = require('gm'); gm(image).identify((err, data) => { if (!err) console.log('not corrupt image') });