首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

struts2 文件上载:含有中文名称的文件后缀为action!求大神赐教

2012-09-05 
struts2 文件下载:含有中文名称的文件后缀为action!求大神赐教Java code小弟最近在学习struts2文件下载 遇

struts2 文件下载:含有中文名称的文件后缀为action!求大神赐教

Java code
小弟最近在学习struts2文件下载 遇到个问题!从前台传递一个文件名称:filename路径我写死在程序中了!public String getFilename() {                return filename;    }public void setFilename(String filename) {                try {            String rString = new String(filename.getBytes("iso-8859-1"),"UTF-8");            this.filename=rString;        } catch (UnsupportedEncodingException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        }public InputStream getTargetFile()throws Exception {        try {            return ServletActionContext.getServletContext()                    .getResourceAsStream("\\download" + "\\" + filename);        } catch (Exception e) {            // TODO: handle exception            e.printStackTrace();        }        return null;    }struts.xml--------------------------------<action name="download" class="com.hp.dl.action.DownloadFile">     <result name="tt" type="stream">        <param name="contentType">application/zip;charset=ISO8859-1</param>        <!-- inputName默认值是inputStream,如果action中用于读取下载文件内容的属性名是inputStream,那么可以省略这个参数 -->        <param name="inputName">targetFile</param>        <!--动态获取文件名,从Action中的取得filename-->        <param name="bufferSize">2048</param>        <param name="contentDisposition">attachment;filename=${filename}</param>     </result>   </action>


[解决办法]
被乱码问题困扰过,大致知道3种情况,字节读取个数不同造成乱码,IDE的设置编码造成乱码,代码中的编码设置造成乱码,希望能帮到LZ
[解决办法]
Java code
<action name="download" class="com.hp.dl.action.DownloadFile">     <result name="tt" type="stream">        <param name="contentType">application/zip;charset=ISO8859-1</param>        <!-- inputName默认值是inputStream,如果action中用于读取下载文件内容的属性名是inputStream,那么可以省略这个参数 -->        <param name="inputName">targetFile</param>        <!--动态获取文件名,从Action中的取得filename-->        <param name="bufferSize">2048</param>        <param name="contentDisposition">attachment;filename=${filename}</param>     </result>   </action> 

热点排行