本文来自http://sun4love.iteye.com/blog/1068254 转载请注明
IE,chrome,ff,opera测试通过
/**
* User: sunflower
* Date: 11-6-2
* Time: 上午10:45
*/
public class IndexController extends GenericForwardComposer {
public void onDownfile() {
try {
String charset = "UTF-8";
//服务器文件名
String fileName = "Sip坐席通讯协议.txt";
//编码后文件名
String encodedName = null;
encodedName = URLEncoder.encode(fileName,charset);
//将空格替换为+号
encodedName =encodedName.replace("%20","+");
HttpServletRequest httpRequest =(HttpServletRequest) Executions.getCurrent().getNativeRequest();
//解决ie6 bug 或者是火狐浏览器
if (encodedName.length() > 150
||Servlets.isGecko(httpRequest)
||Servlets.isGecko3(httpRequest)) {
encodedName = new String(fileName.getBytes(charset), "ISO8859-1");
}
Filedownload.save(new FileInputStream(ZkUtils.getRealPath("/" + fileName)),
"application/octet-stream", encodedName);
} catch (Exception e) {
}
}
}