TypeScript CLI:如何将八位字节流响应从节点获取调用保存到获取请求?
TypeScript CLI: How to save octect-stream response from node-fetch call to Get Request?
我正在使用 Node-Fetch 向网络发出获取请求 api。它returns octet-stream response 在本地保存为一个文件。
我尝试使用 downloadjs (download()) 和 download.js (downloadBlob()),但它们都不起作用。
downloadBlob() 返回 "createObjectURL is not a function" 错误,download() 返回 "window is not defined at object." 错误。
调用如下
let res = await fetch(apiURL, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
})
我想我完全迷失在这里了。我应该怎么做才能将文件下载到本地驱动器?这里应该怎么构造.then块?
downloadjs
和 download.js
无济于事,因为它们是在浏览器中触发下载过程的前端库。例如,当您在客户端(在浏览器中)生成图像并希望用户下载它时。
为了在 Node(CLI) 中保存八位字节流,您可以使用 fs
模块:
const data = await fetch(apiURL, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
}).then(res => res.buffer());
fs.writeFile('filename.dat', data, (err) => {
if (err) throw err;
console.log('The file has been saved!');
});
我正在使用 Node-Fetch 向网络发出获取请求 api。它returns octet-stream response 在本地保存为一个文件。
我尝试使用 downloadjs (download()) 和 download.js (downloadBlob()),但它们都不起作用。
downloadBlob() 返回 "createObjectURL is not a function" 错误,download() 返回 "window is not defined at object." 错误。
调用如下
let res = await fetch(apiURL, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
})
我想我完全迷失在这里了。我应该怎么做才能将文件下载到本地驱动器?这里应该怎么构造.then块?
downloadjs
和 download.js
无济于事,因为它们是在浏览器中触发下载过程的前端库。例如,当您在客户端(在浏览器中)生成图像并希望用户下载它时。
为了在 Node(CLI) 中保存八位字节流,您可以使用 fs
模块:
const data = await fetch(apiURL, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
}).then(res => res.buffer());
fs.writeFile('filename.dat', data, (err) => {
if (err) throw err;
console.log('The file has been saved!');
});