2017-08-11 145 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') 
});