struts2文件下载时,下载文件和保存文件名都为中文时解决方案
来源:互联网 发布:复制手机联系人软件 编辑:程序博客网 时间:2024/05/29 20:01
场景:用struts2实现文件的下载,服务器上的文件名为中文,下载到本地保存的文件名也是中文,这时会出现乱码。解决方案如下:
package pic;
public class PicAction extends BaseAction {
//下载参数
private String downloadFilePath;
private String downloadFileName;
public String downloadFilesByBreakPoint() {
return "success";
}
public InputStream getInputStream() throws Exception {
downloadFilePath = new String(downloadFilePath.getBytes("iso-8859-1")); //解决下载的文件为中文问题
File downloadFile = new File(Global.FIlE_ROOT+downloadFilePath);
//解决下载到本地保存的文件名为中文问题
downloadFileName = new String(downloadFilePath.substring(downloadFilePath.lastIndexOf("\\")+1).getBytes(),"iso-8859-1");
return new FileInputStream(downloadFile);
}
public String getDownloadFilePath() {
return downloadFilePath;
}
public void setDownloadFilePath(String downloadFilePath) {
this.downloadFilePath = downloadFilePath;
}
public String getDownloadFileName() {
return downloadFileName;
}
public void setDownloadFileName(String downloadFileName) throws Exception{
this.downloadFileName = new String(downloadFileName.getBytes("ISO-8859-1"),"GBK");;
}
}
struts2的配置文件如下:
<action name="downloadFilesByBreakPoint" method="downloadFilesByBreakPoint" class="pic.PicAction">
<result name="success" type="stream">
<!-- 解决保存到本地的文件名为中文问题 -->
<param name="contentType">charset=iso-8859-1</param>
<!-- inputName默认值是inputStream,如果action中用于读取下载文件内容的属性名是inputStream,那么可以省略这个参数 -->
<param name="inputName">inputStream</param>
<!--动态获取文件名,从Action中的取得filename-->
<param name="contentDisposition">
attachment;filename=${downloadFileName}
</param>
<param name="bufferSize">2048</param>
</result>
</action>
- struts2文件下载时,下载文件和保存文件名都为中文时解决方案
- Struts2文件下载时,中文文件名和chorm不兼容问题
- Struts2 文件下载 (解决了中文文件名)
- struts2 实现中文文件名的文件下载
- Struts2 文件下载中文文件名乱码问题
- 解决Struts2文件下载文件名中文乱码
- struts2文件下载及文件名中文问题
- Django下载文件时,中文文件名问题
- IE文件下载时中文文件名乱码
- struts2 下载文件,下载弹出框,文件名中文乱码
- Struts2文件下载中文乱码解决方案
- Struts2 通过"流"下载文件时显示中文文件名
- jsp下载中文文件名文件
- 文件下载中文文件名问题
- 文件下载中文文件名乱码
- struts2 中文文件下载
- struts2文件下载功能实现(文件名中文转码)
- struts2 Annotation 实现文件下载功能 文件名中文乱码问题
- 真正快速的std::vector遍历方法
- android开发中常见的不当处理导致“ANR”
- android--相机开发
- 继续:C#中使用SQLite
- 编程方式动态加载QTP插件
- struts2文件下载时,下载文件和保存文件名都为中文时解决方案
- 博客正式版家
- 1151_Word Reversal
- 2012年年终总结(非官方版)
- java实现Hbase中的查询(一)Filter方式
- iOS中使用RegexKitLite来试用正则表达式
- 1067_Color Me Less
- 参考:MyEclipse10+Flex4.6+BlazeDS终于可以跑程序了
- java实现hbase表创建、数据插入、删除表