本文来自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) {
- }
- }
- }
或者