axios 下载二进制文件
时间: 2023-10-29 21:55:50 浏览: 108
在使用axios下载二进制文件时,你可以将responseType设置为 'blob',然后将返回的二进制数据保存到文件中。以下是一个示例:
```javascript
const axios = require('axios');
const fs = require('fs');
axios({
url: 'http://example.com/file',
method: 'GET',
responseType: 'blob', // 设置响应类型为二进制数据
})
.then((response) => {
const contentDisposition = response.headers['content-disposition'];
const filename = contentDisposition.split(';')[1].split('=')[1].replace(/"/g, ''); // 获取文件名
const fileStream = fs.createWriteStream(filename);
response.data.pipe(fileStream);
fileStream.on('finish', () => {
fileStream.close();
console.log('文件下载成功');
});
})
.catch((error) => {
console.error('文件下载失败', error);
});
```
这个示例中,我们发送了一个GET请求,设置响应类型为'blob'。在响应返回后,我们获取文件名并创建一个可写的文件流,然后将响应的数据写入文件流中,最后关闭文件流。这样就能将下载的二进制文件保存到本地了。
阅读全文