日期:2014-05-17  浏览次数:20569 次

Struts2文件下载后直接打开问题
各位好!
小弟之前用Struts2做了一个文档管理模块,简单的CRUD。
现在客户提出新的需求:要能直接打开文件(包含:常用的图片格式,PDF格式,Word和Excel格式文件),而不是下载后手动打开(蛋疼)。
度娘了许久,很多人说修改Struts2配置:
<param name="contentDisposition">attachment;filename="${downloadFileName}"</param>

为:
<param name="contentDisposition">inline;filename="${downloadFileName}"</param>

即可,但试了光修改这句还不行,还要去掉这句才行:
 <param name="contentType">application/octet-stream;charset=UTF-8</param>

费解!但这个诡异的方法目前只能直接打开图片和txt文件,其他格式还是提示要下载。
有什么方法能让谷歌浏览器直接打开文件而不是下载呢?
Struts2下载文件自动打开

------解决方案--------------------
推荐一种解决方式
1、将pdf、word、excel等(其实还可以支持很多的格式,包括ppt、txt等等)转换成swf格式
2、用flex在线阅读

最终做出来的效果跟豆丁之类的效果差不多。而且对客户端没有任何要求。
------解决方案--------------------
你后台要指定下载的格式,而且要求客户端安装了对应的程序,否则没用。楼上的方法较好