刚做这个功能的时候想的是用现有的插件直接预览,但是或多或少都会有些问题,最后研究出来一个很好用的,代码也不多,上代码!
axios.get(url, { responseType: "blob" }).then((data) => {
let responseData = data.data;
let blob = new Blob([responseData], {
type: "application/pdf;charset=utf-8",
});
const href = URL.createObjectURL(blob);
window.open(href, "newWindow");
});
注:这里url是全地址,如果后台返回的是不完整的,那么可以取一下前缀拼一下,怎么取可以看我另外一篇文章
演示效果:带打印翻页缩放(用我狗子的狗头挡一下文件内容)