vue项目中我们常遇到需要下载pdf文件的问题,但是又不想安装多余的插件时,我们该怎么实现呢?
话不多说,上代码:
fetch('你的文件路径', {
method: 'get',
responseType: 'arraybuffer',
}).then(res => {
if (res.status !== 200) {
return res.json()
}
return res.arrayBuffer()
}).then(blobRes => {
// 生成 Blob 对象,设置 type 等信息
const e = new Blob([blobRes], {
type: 'application/octet-stream',
'Content-Disposition':'attachment'
})
// 将 Blob 对象转为 url
const link = window.URL.createObjectURL(e)
let a = document.createElement('a');
a.href = link;
a.download = "文件名";
a.click();
}).catch(err => {
console.error(err)
})
这样就不用下载其余插件啦,亲测,好使!!!