无法从 nodejs 中的 API URL 获取图像文件

Could not get image file from API URL in nodejs

const headers = new Headers();

headers.set(
  "Authorization",
   "Basic " + base64.encode(username + ":" + password)
);

fetch(url, { method: "GET", headers: headers })
  .then(res => {
    console.log("res", res.statusCode);
  });

res.send("success");

我正在尝试使用 API URL 从 url 获取 jpeg 图像文件。当我尝试保存文件时,出现以下错误:

(node:18636) UnhandledPromiseRejectionWarning: FetchError: invalid json response body at [API url] reason: Unexpected token � in JSON at position 0

url 在使用 Advance Rest Client chrome 网络应用程序显示图像时正常工作。但它在 node.js 中使用上面的代码不起作用。有人可以帮我解决这个问题吗?那将不胜感激。

你正在使用 res.statusCode 这是错误的,你应该使用 res。 status 相反,下面是工作 code.you 可以根据您的要求修改它。

const fetch = require('node-fetch');
    const fs =    require('fs')
    fetch('https://homepages.cae.wisc.edu/~ece533/images/airplane.png')
      .then(res => {
        if(res.status==200) {
          let contentType =res.headers.get('content-type')
          if(contentType=='image/png') {
            let stream  = fs.createWriteStream('./test.png')
             res.body.pipe(stream)
          }
         }
      })

;