Blob二進(jìn)制格式數(shù)據(jù)文件
encodeURIComponent() 函數(shù)可把字符串作為 URI 組件進(jìn)行編碼柏肪。
數(shù)據(jù)傳輸過(guò)程的數(shù)據(jù)格式是Blob類型的數(shù)據(jù)
一翔冀、獲取pdf文件直接預(yù)覽
import pdfJS from 'pdfjs-dist'; // 該插件用來(lái)預(yù)覽pdf
let CMAP_URL = 'https://unpkg.com/pdfjs-dist@2.0.943/cmaps/'; //'https://unpkg.com/pdfjs-dist@2.0.943/cmaps/'
//讀取base64的pdf流文件
this.pdfData = pdfJS.getDocument({
data: data, // PDF base64編碼
cMapUrl: CMAP_URL,
cMapPacked: true
});
二舍悯、從后端獲取二進(jìn)制數(shù)據(jù)文件進(jìn)行預(yù)覽
<a style="color: #2196F3;text-decoration:none;" :href="pdfUrl" target="_blank" rel="noopener noreferrer">查看pdf詳情</a>
@param { Blob } dataEx 傳輸?shù)亩M(jìn)制數(shù)據(jù)
this.axios.get(optEx).then((dataEx)=>{
let blob = new Blob([dataEx], {type: 'application/pdf'});
this.pdfUrl = URL.createObjectURL(blob); // 創(chuàng)建的blob文件
});
URL.revokeObjectURL(this.pdfUrl); // 銷毀創(chuàng)建的blob文件