viewer.html?url=pdf地址,以这种方式pdf.js可以解析url中的pdf,但是不支持跨域,我们不能访问存放在oss中的pdf
解决办法:
1、viewer.js中隐藏红框中这段
2、我是拿的存放在阿里服务器上的pdf文件。登录阿里后台配置域名白名单。这样就可以跨域了。
但是,我们这边配置的我司域名的白名单还加了header头才能跨域,所以,我做了如下操作:
找到webViewerLoad这个方法,在这个方法下发起一个get请求,url是地址栏中自己带的pdf地址,我的地址栏参数是pageUrl(参数不要是url),然后将下面红框那块放在get请求的回调执行
为什么这样写:
get请求可以拿到pdf的Blob 对象,然后用js原生URL.createObjectURL(get回调获取的Blob对象)可以重新生成一个新的url