struts2文件下载的中文名解决方案
来源:互联网 发布:php分页详解 编辑:程序博客网 时间:2024/06/05 04:00
找了很多资料,最后从论坛上找到的解决方案,这里贴一下几处关键代码
<action name="filedownload" class="fileDownloadAction"> <result name="success" type="stream"> <param name="contentType">application/octet-stream;charset=ISO8859-1</param> //注意这里的charset要写 <param name="contentDisposition">attachment;filename="${fileName}"</param> <param name="inputName">downloadFile</param> </result></action>如果要通过url传递要下载的文件名,则要将要下载的中文名用URLEncoder编码:
ServletActionContext.getRequest().setAttribute("report",URLEncoder.encode(“我是中文.txt”, "utf-8"));
得到的是字符串。将此字符串传给url:
<a href="student/filedownload?fileName=${report}">在下载文件的action中修改这几处
public InputStream getDownloadFile() throws Exception { fileName = new String(fileName.getBytes("ISO-8859-1")); //将编码后的中文名解码,得到fileName为“我是中文.txt”由于struts配置文件中<param name="contentDisposition">attachment;filename="${fileName}"</param>获取的filename="${fileName}"是通过getFileName()方法获取的。因此修改getFileName()方法:
public String getFileName() throws Exception { return new String(fileName.getBytes(), "ISO8859-1");}至此,下载的文件中文名问题解决。
0 0
- struts2文件下载的中文名解决方案
- Struts2文件下载中文名乱码
- IIS下中文名的文件无法下载问题的解决方案
- IIS下中文名的文件无法下载问题的解决方案
- 下载:中文名与下载文件的编码
- JavaWeb项目下中文名文件的下载
- Android 文件下载中文名乱码的解决办法
- URL无法下载含有中文名的文件
- 下载时的中文名文件乱码
- java下载文件的时候中文名乱码
- Android 文件下载中文名乱码的解决办法
- 文件下载:"Content-disposition","attachment; filename=中文名>>>解决方案
- 文件下载:"Content-disposition","attachment; filename=中文名>>>解决方案
- 文件下载:"Content-disposition","attachment; filename=中文名>>>解决方案
- 文件下载:"Content-disposition","attachment; filename=中文名>>>解决方案
- .net从服务器下载文件中文名乱码解决方案
- struts2 文件下载 异常的解决方案
- 下载中文名文件问题
- 计蒜客--第31题:无脑博士的试管们
- 5. 在新版本的 PHP 中使用旧的 PHP 代码
- MITK Renderer和RenderWindow类
- drivers_day03
- 彻底学通string.Format以及IFormattable,IFormatProvider,ICustomFormatter(2)
- struts2文件下载的中文名解决方案
- Android自定义view学习笔记01
- syscall_add
- PHP通过文件存储来实现缓存
- 缩放shader 的编写-shader学习1
- springMVC上传文件的两种方式
- 让Solr返回JSON数据
- 数据挖掘回顾一:分类算法之 kNN 算法
- 对第三方框架AFNetworking网络请求的使用浅析