axios发起获取响应流下载文件
时间: 2023-09-14 09:12:20 浏览: 96
axios-0.11.1.tar.gz
你可以使用axios库来发起请求并获取响应流,然后将响应流保存为文件。下面是一个使用axios下载文件的示例代码:
```javascript
const axios = require('axios');
const fs = require('fs');
axios({
url: 'http://example.com/file.pdf',
method: 'GET',
responseType: 'stream'
})
.then(response => {
// 创建可写流
const writer = fs.createWriteStream('file.pdf');
// 将响应流管道到可写流
response.data.pipe(writer);
return new Promise((resolve, reject) => {
writer.on('finish', resolve);
writer.on('error', reject);
});
})
.then(() => {
console.log('文件下载完成');
})
.catch(error => {
console.error('文件下载失败:', error);
});
```
在上面的示例中,我们使用axios发起GET请求,并将`responseType`设置为`stream`以获取响应流。然后,我们创建了一个可写流来保存文件,并将响应流通过管道传输到可写流中。最后,我们使用Promise来确保文件下载完成或发生错误时能够正确处理。
记得将上面示例中的`http://example.com/file.pdf`替换为你要下载的文件的URL,以及将`file.pdf`替换为你要保存的文件名和路径。
希望这个示例能对你有帮助!如果有任何问题,请随时提问。
阅读全文