Node.js 图像上的Http.get()-如何确定图像是否有效?

Node.js 图像上的Http.get()-如何确定图像是否有效?,node.js,http-get,Node.js,Http Get,我使用Node.js从服务器下载图像并保存它们。有时我会收到损坏的图像,这些图像反过来会破坏程序另一部分的视频渲染。我想在保存这些图像之前验证它们 现在我有一个函数如下所示: function saveImage(res, destination, imageName, url) { var imgName = './' + destination + '/' + imageName + '.jpg'; var type = res.headers['content-type'];

我使用Node.js从服务器下载图像并保存它们。有时我会收到损坏的图像,这些图像反过来会破坏程序另一部分的视频渲染。我想在保存这些图像之前验证它们

现在我有一个函数如下所示:

function saveImage(res, destination, imageName, url) {
  var imgName = './' + destination + '/' + imageName + '.jpg';
  var type = res.headers['content-type'];
  if (type === 'image/jpg' || type === 'image/jpeg') {
      res.pipe(fs.createWriteStream(imgName));
  } else {
      console.log('corrupt Image caught: ', url,' headers: ',type);
  }
}
您将看到我已经在检查内容类型。这实际上并不能阻止一些糟糕的图像。它们似乎具有正确的标题,但保存为0 KB的文件


是否有一种简单的方法可以检查不依赖于内容长度的图像文件大小?根据我的理解,这并不总是设置的。

我还将图像读入适当的图像加载器,以验证格式是否正确(并检测标签错误的文件)。@Dai请进一步说明。