后端传过来的pdf文件前端vue怎么保存
时间: 2024-03-20 17:41:32 浏览: 96
Vue前端保存为PDF的常用方式 「干货分享」
在前端 Vue 中保存后端传来的 PDF 文件可以通过以下步骤实现:
1. 接收后端传来的 PDF 文件,可以使用 axios 或 fetch 等网络请求库进行接收。
```javascript
axios.get('/api/download/pdf', {
responseType: 'arraybuffer'
}).then(response => {
// response.data 是一个 ArrayBuffer 对象,表示二进制的 PDF 文件内容
})
```
2. 将接收到的 ArrayBuffer 对象转换为 Blob 对象。Blob 对象是二进制数据的容器,可以通过 URL.createObjectURL 方法创建一个 URL 地址,然后将其赋值给 a 标签的 href 属性,从而实现下载。
```javascript
axios.get('/api/download/pdf', {
responseType: 'arraybuffer'
}).then(response => {
const blob = new Blob([response.data], { type: 'application/pdf' })
const url = URL.createObjectURL(blob)
const link = document.createElement('a')
link.href = url
link.download = 'file.pdf'
link.click()
})
```
在这个例子中,我们创建了一个 Blob 对象,将其类型设置为 'application/pdf',然后使用 URL.createObjectURL 方法创建一个 URL 地址。接着,我们创建了一个 a 标签,将 URL 地址赋值给它的 href 属性,将文件名赋值给它的 download 属性,最后通过 link.click() 方法触发下载。
希望这个回答能够帮助到你!
阅读全文