pdf.js跨域解决

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链接。

 

posted @ 2021-02-01 17:24  redRunZhy  阅读(4265)  评论(0编辑  收藏  举报