当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 使用PDF.JS实现pdf文件在线预览时,报文件被损坏的错误

使用PDF.JS实现pdf文件在线预览时,报文件被损坏的错误

2019年02月28日  | 移动技术网IT编程  | 我要评论

  首先大概说明一下问题出现的背景:我用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%>“给去掉了,结果就可以正常预览了(开发环境和正式环境都可以)。

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

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网