JFinal 处理文件问题
在Jfinal做后端的条件下,怎么打开资源,类似于访问这个链接 http://download.jfinal.com/download/3.0/jfinal-3.0-manual.pdf ,然后可以看到打开的PDF。 我的意思不是下载,下载调用renderFile就可以。还请各位指点。我的目的是调用一个iframe去访问指定的文件(比如PDF,IMG,TXT)。如果我这样演示文件的做法有问题,也请各位指出,最好还能指出真实情况下应该是怎么做的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
百度文库是flash,我目前没有这个能力去完成。
百度文库是怎么做的?
刚刚查看了下Jfinal的官网,是nginx其实只是想做到那种在Iframe里面打开文件。波总说的大概意思我理解了,依照我目前的水平应该是做不出来的,应该是我对怎么页面是怎么传输了解的不够好。但是还是想知道怎么像是打开文件在后端render出来。
发送的都是一个URL,然后应该是接收的不同,renderFile回传的报文应该有带有一些信息告诉浏览器我是一个要被下载的文件。但是如果直接访问则没有。不过本来我这样写就不太合理就是了。
两种办法,一个是在后端用 java 代码将文件内容读出来,然后用模板引擎结合 html 将内容格式化渲染出来。还有一个办法是仿照一下 jfinal 的 FileRender 做个 BinaryRender,直接向浏览器响应二进制流,然后浏览器拿到数据以后,用 javascript 展示
建议使用第一种方式,将内容在后端彻底搞定后,在页面的形式来展示
所以我说的这个功能叫做在线预览,谢谢。我的问题在于想让Jfinal的某些路径支持在线预览的功能。用Ie确实pdf会下载。后端采用Jfinal是想知道要怎么实现?即时没有PDF也有IE或者别的什么的需要查看。所以我想知道Jfinal要怎么支持这个功能。
回复
@Rothleer : 如果你要预览和百度文库的话,还有支持各种格式的文档的,在所有浏览器上查看,这个是巨坑,要了解对应文档格式,然后解析内容,然后想办法渲染成HTML; 最简单的是就是activeX,只能IE,客户端显示。 如果只是PDF的话,有PDF.js,你可以看下
之所以你看到那个连接不是下载,那是因为你的浏览器支持pdf在线预览,估计是360,猎豹之类的chrome双核浏览器!你换成ie试试,就是下载了!
你想要的是在线预览功能吧,类似于百度文库,或者QQ邮箱附件 在线查看上传的 word,excel等吧;这个需要前端插件支持解析吧。
和后端jfinal貌似没啥关系