前端操做文件流是一項比不可少的技能
今天咱們來使用blob
來進行pdf
文件的預覽以及下載前端
DEMOios
blob
Common_types 常見 MIME 類型列表
createObjectURLgit
預覽pdf
能夠藉助iframe
的src
屬性來傳入blob文件流以達到預覽的目的axios
html前端工程師
<iframe src="" id="iframe" frameborder="0"></iframe>
jsapp
function loadpdf() { axios({ method: 'get', url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-8e76dff9-ce38-4577-9e5c-398943705060/a5b050b8-3fa1-4436-b231-7b40725de731.pdf', responseType: 'blob', }).then(function (response) { let blob = new Blob([response.data], { type: response.data.type }) let url = URL.createObjectURL(blob) document.getElementById('iframe').src = url }) }
responseType
務必指定爲blob
學習
new Blob
文件類型能夠寫爲response.data.type
或者參考MINE類型列表
寫爲application/pdf
url
下載pdf
咱們藉助於URL.createObjectURL()
靜態方法會建立一個 DOMString
經過a標籤
來進行下載spa
function dowanloadpdf() { axios({ method: 'get', url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-8e76dff9-ce38-4577-9e5c-398943705060/a5b050b8-3fa1-4436-b231-7b40725de731.pdf', responseType: 'blob', }).then(function (response) { const link = document.createElement('a') let blob = new Blob([response.data], { type: response.data.type }) let url = URL.createObjectURL(blob) link.href = url link.download = '前端工程師必備技能.pdf' link.click() }) }
以上就是pdf的預覽以及下載的簡單實現方法,你還有更好的方法嗎?能夠分享出來供你們學習一下🍺