在線預(yù)覽
1.請求接口 請求設(shè)置responseType
axios.get(url,{resonseType:'blob'})
2.根據(jù)返回的值創(chuàng)建一個Blob對象,
// 以pdf文件為例
let blob = new Blob([result],{
type: "application/pdf;chartset=UTF-8"
})
3.window.URL.createObjectURL創(chuàng)建一個url連接
let blob = new Blob([result],{
type: "application/pdf;chartset=UTF-8"
})
let url = window.URL.createObjectURL(blob)
4.在線預(yù)覽
可以用iframe預(yù)覽耗溜,url的值為 window.URL.createObjectURL(blob)
,
或者直接打開window.open(url)
打印
1.創(chuàng)建iframe標(biāo)簽
const iframe = document.createElement('iframe')
2.屬性相關(guān)
iframe.className = 'tmp-pdf';
iframe.style.display = 'none'
// blobUrl 像在線預(yù)覽1,2,3這樣得來的url
iframe.src = blobUrl
3.創(chuàng)建好的iframe添加到頁面body
document.body.appendChild(iframe)
4.執(zhí)行打印方法馍迄,并移除iframe
setTimeout(function() {
iframe.contentWindow.print()
document.body.removechild(iframe)
}, 100)