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块?

downloadjsdownload.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!');
});