2017-08-11 335 views
2

我在以二进制格式下载图片时遇到麻烦,有时下载的文件损坏了图片。检查图片是否有效PNG文件

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

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

所以我需要找到一个库,可以检查整个文件是否有效PNG图像或不。

请提出实现此目标的最佳方法,也许有一些很棒的工具已经存在。

感谢

+0

“有效的PNG图像”的标准是什么? – guest271314

+0

如果您还拥有服务器,我建议您生成校验和,而不是检查PNG图像是否损坏。 –

+0

@Derek朕会功夫感谢您的回复,但我不是欠服务器( – bxfvgekd

回答

1

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

var gm = require('gm'); 

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