您的位置:首页 > 编程语言 > Java开发

struts 下载文件

2014-09-16 11:25 232 查看
文件下载:

 流程:download.action 

        首先调用 downLoad 方法,返回成功后 调用getDownloadFile 方法(注意,这个方法的调用是根据inputName中设置的名字 在get得到)

        此方法返回inputStream,如果出现404 或者500错误,很可能是inputStream 为null。在配置文件中的fileName为浏览器显示的下载文件的名字。

1。 配置action

 <action name="download" class="action.FileOpAction" method="downLoad">

            <result name="success" type="stream">

                <param name="contentType">

                    application/vnd.ms-excel

                </param>

                <param name="contentType">

                    application/octet-stream;charset=UTF-8

                </param>

                <param name="contentDisposition">

                     attachment; fileName="${s}" //action传过来的数据

                </param>

                <param name="inputName">downloadFile</param>(action中需要以get(DownloadFile)  命名的方法)

            </result>

        </action>

2.java中

public InputStream getDownloadFile() {

     

        //注意使用ServletActionContext.getServletContext() 不能使用绝对路径,给予相对路径即可

        String filename="/upload/"+downloadFileName;

        InputStream s=ServletActionContext.getServletContext().getResourceAsStream(filename);

        return s;

}

3.Ie下载不出现弹出框设置

 

                <param name="contentDisposition">

                    attachment;fileName="${downloadFileName}"  

                </param>

4.下载显示的名字 含有中文时

downloadFileName=new String(downloadFileName.getBytes("gb2312"),"iso8859-1");

             


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java ssh