如何在Vue应用中从服务器下载PDF文件?
时间: 2024-12-15 19:29:41 浏览: 5
在Vue应用程序中下载PDF文件通常涉及到前端发送请求到服务器获取PDF内容,然后通过浏览器的`Blob`对象创建一个可以下载的链接。这里是一个基本的步骤:
1. 安装axios或其他HTTP库(如vue-resource):用于发送异步GET请求。
```bash
npm install axios
```
2. 在Vue组件中,使用axios发起GET请求,将PDF数据作为响应获取:
```javascript
import axios from 'axios';
export default {
methods: {
downloadPdf() {
axios.get('/api/pdf', { responseType: 'blob' })
.then(response => {
// 使用URL.createObjectURL创建临时下载链接
const url = URL.createObjectURL(new Blob([response.data], { type: 'application/pdf' }));
const aLink = document.createElement('a');
aLink.href = url;
aLink.download = 'file-name.pdf'; // 可自定义下载名称
aLink.click();
// 清除下载链接,防止内存泄漏
setTimeout(() => URL.revokeObjectURL(url), 0);
})
.catch(error => console.error('Error downloading PDF:', error));
}
}
}
```
3. 在模板中添加按钮触发下载:
```html
<button @click="downloadPdf">下载PDF</button>
```
阅读全文