前言
前端操作文件流是一项比不可少的技能
今天我们来使用blob
来进行pdf
文件的预览以及下载
话说没有demo的代码不是好代码
知识点
blob
Common_types 常见 MIME 类型列表
createObjectURL
预览pdf
预览pdf
可以借助iframe
的src
属性来传入blob文件流以达到预览的目的
html
<iframe src="" id="iframe" frameborder="0"></iframe>
js
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
下载pdf
下载pdf
我们借助于URL.createObjectURL()
静态方法会创建一个 DOMString
通过a标签
来进行下载
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的预览以及下载的简单实现方法,你还有更好的方法吗?可以分享出来供大家学习一下🍺
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。