码迷,mamicode.com
首页 > 其他好文 > 详细

struts文件下载

时间:2015-01-23 14:38:38      阅读:400      评论:0      收藏:0      [点我收藏+]

标签:

struts2文件下载,根据浏览器的不同会有不同的错误出现。有的在ie下正常,但是到了火狐就不可以了。具体原因现在还不得知。主要的问题还是在下载文件名为中文的情况,英文没有太多的区别。这里给出详细代码

jsp页面: <a href="<s:url value=‘employee/test!downloadFile.action‘><s:param name=‘fileName‘>ttt.doc</s:param> </s:url>">下载</a>

action中:

 // 文件下载
      public InputStream getDownloadFile() throws Exception{
          System.out.println(getFileName());
          InputStream inputStream = ServletActionContext.getServletContext().getResourceAsStream("/file/廖哲毅论文2.doc");
          System.out.println(inputStream);
          return inputStream;
     }
  
      // 下载
      public String downloadFile() throws Exception {
          return SUCCESS;
     }
    
    //定义文件名称
    private String fileName;
    public void setFileName(String name) throws Exception{
//在IE下可以正常显示中午名称,但是在火狐下就不可以了。具体原因不详
this.fileName = new String(name.getBytes("ISO8859-1"), "utf-8"); } public String getFileName(){ return this.fileName; }

struts.xml配置文件:

<action name="test" class="testAction">
            <result name="successf">/index.jsp
            </result>
            <result name="success" type="stream">
            <!--指定文件下载类型     application/octet-stream默认值可以下载所有类型    -->
                <param name="contentType">
                     application/octet-stream;
                </param>
             <!-- 指定下载的文件名和显示方式 ,但注意中文名的乱码问题,解决办法是:进行编码处理(不同浏览器会有不同情况)-->
             <!--contentDisposition是文件下载的处理方式,包括内联(inline)和附件(attachment),
                                   默认是inline, 使用附件时这样配置:attachment;filename="文件名" 。-->
                <param name="contentDisposition">
                   attachment;filename="${fileName}"
                 </param>
                <!--由getDownloadFile()方法获得inputStream-->
                 <param name="inputName">downloadFile</param>
                 <!--  指定下载文件的缓存大小-->
                 <param name="bufferSize">2048</param>
             </result>
         </action>

 

struts文件下载

标签:

原文地址:http://www.cnblogs.com/kailing-con/p/4244139.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!