前端操做文件流是一项比不可少的技能
今天咱们来使用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的预览以及下载的简单实现方法,你还有更好的方法吗?能够分享出来供你们学习一下🍺