vue 后台返回的文件流进行预览_vue-pdf预览和下载,后台返回文件流(blob)

本文介绍如何在Vue应用中利用后台返回的文件流预览PDF,并实现无新窗口预览及下载功能。通过创建iframe标签,结合axios设置响应类型为blob,将文件流转换为预览链接和下载链接。
摘要由CSDN通过智能技术生成

背景:碰到了在当前页面预览pdf(不打开新的窗口,采用iframe),并下载。

一、pdf的预览

1.在适合位置嵌入iframe标签

2.在methods中添加相应方法

pdfPreview(val) {

this.previewDownFile(val).then(v => {

if (v.status == 200) {

const binaryData = [];

binaryData.push(v.data);

let url = window.URL.createObjectURL(new Blob(binaryData, {type: 'application/pdf'}));

this.pdfUrl = url

} else {

this.$message.error("请求错误!");

}

})

},

previewDownFile(val) {

return new Promise((resolve, reject) => {

this.$axios({

url: `file-server/download/annex/${val.value}`,

timeout: 0,

method: 'get',

responseType: 'blob',

header: {"Content-Type": "multipart/form-data

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值