axios怎么实现下载进度显示
时间: 2023-12-24 22:05:12 浏览: 130
axios可以使用axios-progress-bar库来实现下载进度显示。
使用步骤如下:
1. 安装axios-progress-bar库:`npm install axios-progress-bar`
2. 引入库并使用:
```javascript
import axios from 'axios';
import { loadProgressBar } from 'axios-progress-bar';
import 'axios-progress-bar/dist/nprogress.css';
// 使用进度条
loadProgressBar();
// 下载文件时使用axios,并设置响应类型为blob
axios({
url: 'http://example.com/file.pdf',
method: 'GET',
responseType: 'blob',
onDownloadProgress: progressEvent => {
// 计算下载进度
const progress = Math.round((progressEvent.loaded / progressEvent.total) * 100);
console.log(`下载进度:${progress}%`);
},
}).then(response => {
// 处理文件下载完成后的逻辑
});
```
在上面的代码中,我们使用了axios-progress-bar库来显示下载进度条,使用`onDownloadProgress`回调函数来计算下载进度,并在控制台输出下载进度。
注意:由于我们要下载的是文件,因此要设置响应类型为`blob`,下载完成后需要进行后续的处理。
阅读全文