zoukankan      html  css  js  c++  java
  • 使用PDF.JS实现pdf文件在线预览时,报文件被损坏的错误

      首先大概说明一下问题出现的背景:我用PDF.JS实现文件在线预览,参考网上的办法,在jsp文件中使用

      <iframe src="<c:url value="js/generic/web/viewer.html" />?file=<c:url value="${wjlj}" />" width="1024" height="700">

    将文件路径以${wjlj}的方式交给pdf.js去处理,刚开始pdf文件是放在web工程下的,用这种方式没发现有什么不对的地方。后来考虑将文件存放到另一个目录下(非web工程内),比如:E:TEST下,访问不到pdf

    文件了,在网上查询后,在”file=“后加了个”<%=bastPath%>“,变成了这样:

      <iframe src="<c:url value="js/generic/web/viewer.html" />?file=<%=basePath%><c:url value="${wjlj}" />" width="1024" height="700">

    就可以了,没问题了。然后我就将项目部署到正式环境下了,结果是在预览pdf1.6及其以前的版本时可以正常预览,但在预览pdf1.7版本的文件时,会报一个错误:”文件被损坏并且无法修复“,刚开始我以为是预

    览的文件被损坏了,或者是PDF.JS不支持预览pdf1.7版本的文件。后来报这个错误的越来越多,我就去看错误日志,结果在这行:

      <iframe src="<c:url value="js/generic/web/viewer.html" />?file=<%=basePath%><c:url value="${wjlj}" />" width="1024" height="700">

    报文件路径错误。我报着试试的心态把之前加的”<%=bastPath%>“给去掉了,结果就可以正常预览了(开发环境和正式环境都可以)。

    总结:刚开始报出来的错误是文件被损坏,误导了我查找问题的方向。不过,我这样的改动,具体是什么原理我暂时还没搞清楚,只是不想再在这块花费太多的时间,但又不想因为时间长了,忘记对这个问题原

    因的追寻,故以此记之。希望看到此文,并且对这块比较了解的码友不吝赐教。

  • 相关阅读:
    大爽Python入门教程 3-1 布尔值: True, False
    以太坊中的账户、交易、Gas和区块Gas Limit
    全链路压力测试经验
    全链路压力测试
    腾讯大牛教你ClickHouse实时同步MySQL数据
    数据湖和数据仓库的区别?
    第六次作业
    linux CPU实时频率命令
    没有Flash如何做直播
    如何扩展srs并发能力
  • 原文地址:https://www.cnblogs.com/jinjunweina/p/10442260.html
Copyright © 2011-2022 走看看