日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue 后台返回的文件流进行预览_vue项目-pdf预览和下载,后台返回文件流形式

發布時間:2025/4/16 vue 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue 后台返回的文件流进行预览_vue项目-pdf预览和下载,后台返回文件流形式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景:正好最近碰到了這種需求,記錄下來,方便以后查看。

后端返回的文件流數據如下圖所示:

后臺返回數據.png

一、pdf的預覽

一開始的時候百度了很多方法,有建議用pdfJs插件的,有iframe嵌套實現的,最后發現了一種及其簡便的實現方法:

pdfPreview(url){

this.$http({

url: `account/registerOpen/${url}`,

method: 'get',

responseType: 'arraybuffer', //一定要設置響應類型,否則頁面會是空白pdf

params: { accountId: id, lang: 'en_US' }

}).then(res => {

const binaryData = [];

binaryData.push(res);

//獲取blob鏈接

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

window.open(this.pdfUrl);

}

});

}

}

二、pdf的下載

下載也挺簡單的,代碼如下:

pdfDownload(url){

const id = sessionStorage.getItem('idPdf').replace(/"/g, '');

this.$http({

url: `account/registerOpen/${url}`,

method: 'get',

responseType: 'arraybuffer',

params: { accountId: id, lang: 'en_US' }

}).then(res => {

// 下載pdf

if (url === 'PerPdf/download' || url === 'PerCrsPdf/download' || url === 'PerWbenContractPdf/download') {

//type類型可以設置為文本類型,這里是pdf類型

this.pdfUrl = window.URL.createObjectURL(new Blob([res], { type: `application/pdf` }));

const fname = `個人開戶資料`; // 下載文件的名字

const link = document.createElement('a');

link.href = this.pdfUrl;

link.setAttribute('download', fname);

document.body.appendChild(link);

link.click();

}

});

}

總結

以上是生活随笔為你收集整理的vue 后台返回的文件流进行预览_vue项目-pdf预览和下载,后台返回文件流形式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。