response.headers ['content-type']在图片网址上不一致

时间:2017-10-27 18:58:04

标签: node.js request mime-types content-type

我在节点中有一个非常简单的url验证功能。此函数使用图像URL并使用request模块向该URL发出请求。然后我检查响应的内容类型。但是,间歇性地我得到错误:File Type 'text/html; charset=utf-8' is not supported,如果有人试图检索我不支持的图像类型,这是一个错误。由于它是间歇性的,我在弄清楚我做错了什么时遇到了一些麻烦。

let request = require('request');

function verifyImage(url) {
    return new Promise((resolve, reject) => {
      const imgTypes = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif'];
      request(url, (error, response) => {
        if (error) {
          reject(error);
        }
        if (!imgTypes.includes(response.headers['content-type'])) {
          reject(`File Type ${response.headers['content-type']} is not supported`)
        }
        resolve(response.statusCode);
      })
    })
}

我使用的示例网址是https://external.xx.fbcdn.net/safe_image.php?d=AQDoWX9zu4XvJYRF&url=http%3A%2F%2Fwww.manutd.com%2F%7E%2Fmedia%2F3390670C247245C29BF10C98C6D454C1.ashx&_nc_hash=AQA-e6n3PXxemXam

0 个答案:

没有答案