html pdf预览字节流,vue pdf流文件在前端展示

参考多个资料和具体实践,决定使用pdfjs

下载地址:http://mozilla.github.io/pdf.js/getting_started/#download

下载完成后放到public/static目录下

fffeb6c42711

具体使用

template:

将通过request请求获取的pdf Blod数据流:

getData(url) {

const auth = JSON.parse(localStorage.getItem("auth") || null) || {};

const xhr = new XMLHttpRequest();

xhr.open("GET", url, true);

xhr.setRequestHeader("token", auth.token);

xhr.responseType = "blob";

xhr.onload = function() {

if (xhr.status === 200) {

let content = xhr.response;

this.pdfTask(new Blob([content]));

} else {

return false;

}

};

xhr.send();

},

转换为url,method:

getObjectURL(file) {

let url = null;

if (window.createObjectURL != undefined) {

// basic

url = window.createObjectURL(file);

} else if (window.webkitURL != undefined) {

// webkit or chrome

try {

url = window.webkitURL.createObjectURL(file);

} catch (error) {

console.log(error);

}

} else if (window.URL != undefined) {

// mozilla(firefox)

try {

url = window.URL.createObjectURL(file);

} catch (error) {

console.log(error);

}

}

return window.origin +  "/static/pdf/web/viewer.html?file=" + url;

}

本地测试:

template:

checkFile(event) {

const self = this;

let reader = new FileReader();

reader.onload = function() {

// 将返回的流数据转换为url

self.getObjectURL(new Blob([this.result]));

};

reader.readAsArrayBuffer(event.target.files[0]);

},

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值