使用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%>“给去掉了,结果就可以正常预览了(开发环境和正式环境都可以)。
总结:刚开始报出来的错误是文件被损坏,误导了我查找问题的方向。不过,我这样的改动,具体是什么原理我暂时还没搞清楚,只是不想再在这块花费太多的时间,但又不想因为时间长了,忘记对这个问题原
因的追寻,故以此记之。希望看到此文,并且对这块比较了解的码友不吝赐教。
使用PDF.JS实现pdf文件在线预览时,报文件被损坏的错误的更多相关文章
- 网页中动态嵌入PDF文件/在线预览PDF内容https://www.cnblogs.com/xgyy/p/6119459.html
#网页中动态嵌入PDF文件/在线预览PDF内容# 摘要:在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件: 问题1:如何网页中嵌入PDF: 在网页中: 常用的几种PDF预览代码片段如 ...
- 文件在线预览doc,docx转换pdf(一)
文件在线预览doc,docx转换pdf(一) 1. 前言 文档转换是一个是一块硬骨头,但是也是必不可少的,我们正好做的知识库产品中,也面临着同样的问题,文档转换,精准的全文搜索,知识的转换率,是知识库 ...
- kkfileview v2.0 发布,文件在线预览项目方案
kkfileview文件在线预览 此项目为文件文档在线预览项目解决方案,项目使用流行的spring boot搭建,易上手和部署,部署好后可以独立提供预览服务,使用http接口访问,不需要和应用集成,具 ...
- 基于开源方案构建统一的文件在线预览与office协同编辑平台的架构与实现历程
大家好,又见面了. 在构建业务系统的时候,经常会涉及到对附件的支持,继而又会引申出对附件在线预览.在线编辑.多人协同编辑等种种能力的诉求. 对于人力不是特别充裕.或者项目投入预期规划不是特别大的公司或 ...
- C# WebAPI 文件在线预览
最近在写一个移动端API接口,其中有一个需求:接口返回附件url地址让手机端调用实现文件在线预览.大体实现思路:把doc.xls等文本格式文件转换为pdf,转换后的pdf文件存放在服务器上面,方便第二 ...
- asp.net word ecxel类型文件在线预览
asp.net word ecxel类型文件在线预览 首先得引用COM: Microsoft Excel 10 Object Library Microsoft Word 10 Object Libr ...
- #网页中动态嵌入PDF文件/在线预览PDF内容#
摘要:在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件: 问题1:如何网页中嵌入PDF: 在网页中: 常用的几种PDF预览代码片段如下: 代码片段1: 1 <object ty ...
- pdf文件在线预览
使用pdfjs技术实现PDF的在线预览功能. 目录 1.官网下载pdf.js 2. 将下载下来的文件全部复制 3. js使用 4. java IO流 1.官网下载pdf.js 2. 将下载下来的文件全 ...
- 【ASP.NET 进阶】PDF文件在线预览(类似百度文库)
工作需要完成文档的在线预览,现在完成了第一步PDF文件的预览,步骤是通过PDF转换工具pdf2swf.exe把PDF文件转换为SWF文件,然后通过FlexPaper就可以预览了.效果如下(GIF图片太 ...
随机推荐
- 调用pymysql模块操作数据库
1.创建数据库表: def create_table(tb_name): import pymysql#导入模块 #连接数据库 db = pymysql.Connect(','zabbix_db') ...
- JavaSE:关键字(全)
访问控制: private 访问控制方式:私有的 protected 访问控制方式:受保护的 public 访问控制方式:公共的 类.方法和变量修饰符: abstract 声明抽象,表明类或者成员方法 ...
- python3 Flask -day1
window 10 python 3 安装flask 首先打开cmd命令执行窗口切换到Python安装目录的Script,输入pip出现以下页面 这里我们使用virtualenv虚拟开发环境 为什么 ...
- Liunx-cd命令
1. 如何进入上级目录cd .. 2. 如何进入当前用户主目录cd ~3. 如何进入上两级目录cd ../.. 4. 进入当前目录命令cd .5. 如何进入目录 /lym/b 6.切换跟目录
- 需求分析&用例编写
一.需求分析? 1.什么是需求 软件产品必须完成的是以及必须具备的品质. 功能性需求:产品必须完成的那些事,要求一定的功能和品质. 例子:淘宝的用户名登录. 非功能性需求:产品必须具备的属性和品质.诸 ...
- 第六周LINUX学习笔记
DNS服务 DNS:Domain Name Service //协议 实现:BIND(Berkeley Internet Name Domain) 监听端口: UDP:5 ...
- PHP全栈学习笔记6
php能做什么,它是运行在服务器端的,web网站大部分数据都是存储在服务器上的,PHP就是用来处理这些存储在服务器的数据.跨平台,服务器可以是多种平台上的服务器,脚本语言,免费. wampserver ...
- javaScript设计模式之面向对象编程(object-oriented programming,OOP)--寄生组合式继承
组合式继承:将类式继承同构造函数继承组合使用,但是存在一个问题,子类不是父类的实例,而子类的原型式父类的实例,所以才有了寄生组合式继承. 意思就是说,寄生就是寄生式继承,寄生式继承就是依托于原型继承, ...
- java基础(十八)----- java动态代理原理源码解析
关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 静态代理 1.静态代理 静态代理:由程序员创建或特定工 ...
- 《白帽子讲Web安全》- 学习笔记
一.为何要了解Web安全 最近加入新公司后,公司的官网突然被Google标记为了不安全的诈骗网站,一时间我们信息技术部门成为了众矢之的,虽然老官网并不是我们开发的(因为开发老官网的前辈们全都跑路了). ...