pdf.js跨域IE加载异常

在IE11中使用PDF.JS预览PDF文件时,遇到预览新文件显示旧内容的问题,疑似因跨域加载和缓存导致。通过在URL中添加时间戳解决缓存问题,但因URL限制,需要对URL进行特殊处理。解决方案是通过在PDF文件流URL后附带时间戳,并使用encodeURIComponent编码,成功避免了缓存问题。
摘要由CSDN通过智能技术生成

现象:

    IE11浏览器下,应用PDF.JS插件预览2个PDF文件(a和b)时,先打开a,出现a的内容;打开b时,出现仍然是a的内容。chrome没有出现这种现象。

猜测原因:跨域加载时,未将pdf文件流加载到页面,或者由于IE浏览器出现缓存等现象。

解决方法:

    1.跨域加载pdf文件

      var url1= $("#root").val()+"/js/pdf/viewer.html?file="+url;

    其中,url为获取文件流信息

    若url地址为:

    var url = $("#root").val()+"/pdfStream.action";

    则其对应后台代码为:

        @Action(value = "pdfStream")

    public void pdfStream() throws Exception {

        File file = new File((String) request.getSession().getAttribute("localPath"));
        try {
            InputStream in = new BufferedInputStream(new FileInputStream(file));
            // 写出 字节流
            byte[] buffer = new b
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值