无法从 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)
}
}
})
;
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)
}
}
})
;