使用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%>“給去掉了,結果就可以正常預覽了(開發環境和正式環境都可以)。

總結:剛開始報出來的錯誤是文件被損壞,誤導了我查找問題的方向。不過,我這樣的改動,具體是什么原理我暫時還沒搞清楚,只是不想再在這塊花費太多的時間,但又不想因為時間長了,忘記對這個問題原

因的追尋,故以此記之。希望看到此文,並且對這塊比較了解的碼友不吝賜教。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM