axios stream流
时间: 2023-09-06 11:06:51 浏览: 170
axios支持通过stream流进行数据传输。可以使用axios的`responseType`参数将响应类型设置为`stream`,然后使用`pipe`方法将响应数据流导入到目标文件流中。
以下是一个使用axios进行stream流传输的示例代码:
```javascript
const axios = require('axios');
const fs = require('fs');
const downloadFile = async (url, targetFilePath) => {
const response = await axios({
url,
method: 'GET',
responseType: 'stream'
});
response.data.pipe(fs.createWriteStream(targetFilePath));
return new Promise((resolve, reject) => {
response.data.on('end', () => {
resolve();
});
response.data.on('error', (err) => {
reject(err);
});
});
};
// 示例用法
const url = 'https://example.com/file.mp4';
const targetFilePath = 'path/to/save/file.mp4';
downloadFile(url, targetFilePath)
.then(() => {
console.log('文件下载完成');
})
.catch((error) => {
console.error('文件下载失败:', error);
});
```
上述代码示例了如何使用axios下载文件并将其保存到指定的目标文件路径中。你可以将`url`替换为要下载的文件的URL,并将`targetFilePath`替换为要保存的文件路径。
阅读全文