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%>“给去掉了,结果就可以正常预览了(开发环境和正式环境都可以)。

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

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

  • 相关阅读:
    CodeForces
    CodeForces
    Comet OJ
    CodeForces
    2019年第五届计蒜之道复赛总结
    2019计蒜之道初赛4 B. 腾讯益智小游戏—矩形面积交(简单)(矩形交集)
    2019计蒜之道初赛3 D. 阿里巴巴协助征战SARS(困难)(大数取余+欧拉降幂)
    2018计蒜之道复赛 贝壳找房函数最值(贪心+优先队列)
    牛客想开了大赛2 A-【六】平面(切平面)
    2018年第九届蓝桥杯国赛试题(JavaA组)
  • 原文地址:https://www.cnblogs.com/jinjunweina/p/10442260.html
Copyright © 2011-2022 走看看