vue 使用axios下载文件
时间: 2023-11-04 12:54:59 浏览: 108
vue中axios请求的封装实例代码
要在Vue中使用axios下载文件,可以使用以下步骤:
1. 在Vue项目中安装axios:
```bash
npm install axios --save
```
2. 在需要使用axios的Vue文件中引入axios:
```javascript
import axios from 'axios'
```
3. 创建一个下载文件的方法:
```javascript
downloadFile() {
axios({
method: 'get',
url: 'http://example.com/file.pdf',
responseType: 'blob'
})
.then(response => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'file.pdf');
document.body.appendChild(link);
link.click();
})
.catch(error => {
console.log(error);
});
}
```
在这个方法中,我们使用axios的get方法来获取文件,设置responseType为'blob'以获取二进制数据。然后,我们将响应数据包装在Blob对象中,并使用URL.createObjectURL方法创建一个URL,然后创建一个链接元素并模拟点击该链接以下载文件。
4. 在Vue模板中调用该方法:
```html
<button @click="downloadFile">下载文件</button>
```
这样,当用户点击下载文件按钮时,文件将被下载到他们的本地计算机中。
阅读全文