JFinal 处理文件问题

Rothleer 发布于 2017/03/16 14:16
阅读 228
收藏 0

在Jfinal做后端的条件下,怎么打开资源,类似于访问这个链接   http://download.jfinal.com/download/3.0/jfinal-3.0-manual.pdf ,然后可以看到打开的PDF。 我的意思不是下载,下载调用renderFile就可以。还请各位指点。我的目的是调用一个iframe去访问指定的文件(比如PDF,IMG,TXT)。如果我这样演示文件的做法有问题,也请各位指出,最好还能指出真实情况下应该是怎么做的。

加载中
0
terely
terely

之所以你看到那个连接不是下载,那是因为你的浏览器支持pdf在线预览,估计是360,猎豹之类的chrome双核浏览器!你换成ie试试,就是下载了!

你想要的是在线预览功能吧,类似于百度文库,或者QQ邮箱附件 在线查看上传的 word,excel等吧;这个需要前端插件支持解析吧。

和后端jfinal貌似没啥关系

iehyou
iehyou
回复 @Rothleer : 如果你要预览和百度文库的话,还有支持各种格式的文档的,在所有浏览器上查看,这个是巨坑,要了解对应文档格式,然后解析内容,然后想办法渲染成HTML; 最简单的是就是activeX,只能IE,客户端显示。 如果只是PDF的话,有PDF.js,你可以看下
Rothleer
Rothleer
所以我说的这个功能叫做在线预览,谢谢。我的问题在于想让Jfinal的某些路径支持在线预览的功能。用Ie确实pdf会下载。后端采用Jfinal是想知道要怎么实现?即时没有PDF也有IE或者别的什么的需要查看。所以我想知道Jfinal要怎么支持这个功能。
0
JFinal
JFinal

两种办法,一个是在后端用 java 代码将文件内容读出来,然后用模板引擎结合 html 将内容格式化渲染出来。还有一个办法是仿照一下 jfinal 的 FileRender 做个  BinaryRender,直接向浏览器响应二进制流,然后浏览器拿到数据以后,用 javascript 展示

 

建议使用第一种方式,将内容在后端彻底搞定后,在页面的形式来展示

Rothleer
Rothleer
发送的都是一个URL,然后应该是接收的不同,renderFile回传的报文应该有带有一些信息告诉浏览器我是一个要被下载的文件。但是如果直接访问则没有。不过本来我这样写就不太合理就是了。
Rothleer
Rothleer
刚刚查看了下Jfinal的官网,是nginx其实只是想做到那种在Iframe里面打开文件。波总说的大概意思我理解了,依照我目前的水平应该是做不出来的,应该是我对怎么页面是怎么传输了解的不够好。但是还是想知道怎么像是打开文件在后端render出来。
0
554330833a
554330833a

百度文库是怎么做的?

Rothleer
Rothleer
百度文库是flash,我目前没有这个能力去完成。
返回顶部
顶部