要将接口获取的文件流变成文件,可以使用Node.js的fs模块。下面是一个示例代码:

const fs = require('fs');
const axios = require('axios');

async function downloadFile(url, filePath) {
  const writer = fs.createWriteStream(filePath);

  const response = await axios({
    url,
    method: 'GET',
    responseType: 'stream'
  });

  response.data.pipe(writer);

  return new Promise((resolve, reject) => {
    writer.on('finish', resolve);
    writer.on('error', reject);
  });
}

const fileUrl = 'https://example.com/file.txt';
const filePath = 'path/to/save/file.txt';

downloadFile(fileUrl, filePath)
  .then(() => {
    console.log('File downloaded successfully');
  })
  .catch(error => {
    console.error('Error downloading file:', error);
  });

在上面的代码中,downloadFile函数接受文件的URL和要保存文件的路径作为参数。它使用axios库发送GET请求,并将响应的数据流(pipe)到fs.createWriteStream()函数创建的写入流(writer)中。当数据流写入完成时,finish事件将被触发,该函数返回一个Promise以便可以使用.then().catch()进行异步处理。

请确保已经安装了axiosfs模块(可以使用npm install axiosnpm install fs命令进行安装)

nodejs将接口获取的文件流变成文件

原文地址: http://www.cveoy.top/t/topic/hNBI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录