nodejs将接口获取的文件流变成文件
要将接口获取的文件流变成文件,可以使用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()进行异步处理。
请确保已经安装了axios和fs模块(可以使用npm install axios和npm install fs命令进行安装)
原文地址: http://www.cveoy.top/t/topic/hNBI 著作权归作者所有。请勿转载和采集!