struts internet Explorer 无法下载

Struts做文件下载时,遇到如图情况


struts internet Explorer 无法下载
 

原因之一:中文文件名

 

  <global-results>
   <result name="stream" type="stream">
    <param name="inputName">inputStream</param>
    <!--<param name="contentType">application/vnd.ms-excel</param>-->
    <param name="contentDisposition">attachment;filename="${fileName}"</param>
    <param name="bufferSize">4068</param>
   </result>
  </global-results>

 

 

 private String fileName;
 private InputStream inputStream;

 

 getter/setter方法,其中

 

  //中文的得处理下,不然会出现以上问题 

 public String getFileName() {
  try {
   fileName = new String(fileName.getBytes("gb2312"), "ISO8859-1");
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  }
  return fileName;
 }

 

 

-----20140415更新

若URIEncoding为UTF-8 可用

fileName =java.net.URLEncoder.encode("中文文件名","utf-8")+".xls";

 

你可能感兴趣的:(struts,Excel)