上一篇文章简单的讲述了使用openoffice做在线预览,这片文章想补充讲一下,上一篇回顾地址:
经过测试,excel转成pdf的效果貌似不是很理想,这里可以转成html格式(代码只需要将原来的pdf后缀改为html就
行了),效果会好很多!
转成html引发问题:
如果是转成pdf格式的,待转换文件中的图片信息,转换后还是在(可能被变成base64之类的保存了),此时通过服务端流的形式返回到客户端页面上是可以显示图片的。而如果是转成了html格式,那么待转换文件中的图片在转换后的html文件中是以链接的形式存在的!图片被单独存放在与html同级目录(应该是同级)下面,此时服务端通过流的形式返回给浏览器,图片就不会显示出来,因为此时的图片指向的地址不对了,此时服务端返回流给浏览器的形式就没用了!
分析:
1.既然服务端返回流的形式没用了,那么就考虑通过浏览器直接打开文件(这边需要注意下,文件在服务器上,在浏览器中输入文件的url是打不开的,因为没有做http处理,可以选择下面两种方式的一种来完成。因为做了http处理,所以转换后的文件与图片都可以访问到!)。
2.那么通过浏览器直接请求服务器资源,为什么还需要openoffice转换呢?因为浏览器默认可以打开图片,txt,html,pdf等文件,像word这类的浏览器默认是下载,不能在线打开。
1.使用nginx;
2.使用tomcat;
这边我选择了tomcat,因为我对它比较熟悉。
tomcat帮我们做了一个文件映射的功能,只要在tomcat中配置好就能够访问服务器上的资源。
那么如何配置呢?请参考:tomcat 映射本地服务器图片
为了防止用户点击的文件在服务器上找不到对应的资源,可以自定义一个404页面,请参考:tomcat 虚拟目录自定义404页面