`
sun4love
  • 浏览: 234542 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

zk下载文件中文乱码解决方案

阅读更多

 

本文来自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) {
        }
    }
}
0
0
分享到:
评论
2 楼 major361 2011-10-01  
我直接修改了org.zkoss.web.servlet.http包底下的Https类的encodeFilename方法也可以解决这个问题.
    private static String encodeFilename(String flnm) {
        String filename = Strings.escape(flnm, "\"") ;
        [color=red]try {
            filename =URLEncoder.encode(filename, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }[/color]
        return '"' + filename+ '"';
    }


我用的是zk-5.0.5版本.
1 楼 sokoo108 2011-08-05  
你这也是一种方式,我也留下我的一种处理方式吧:


Execution ex = Executions.getCurrent();
HttpServletRequest request = (HttpServletRequest) ex.getNativeRequest();
if (request.getHeader("User-Agent").indexOf("MSIE") != -1) {// ie
docFilename = URLEncoder.encode(docFilename, "UTF-8");
} else {// firefox
docFilename = MimeUtility.encodeText(docFilename, "GBK", "B");
}

相关推荐

    ZK开发文档中文HTML版

    这些内容将帮助开发者充分利用ZK的灵活性和可扩展性,为特定场景定制解决方案。 总的来说,"ZK开发文档中文HTML版"是一份全面的学习资源,适合初学者和有经验的开发者。通过阅读和实践,你可以掌握ZK框架的关键技术...

    ZK框架 中文技术文档.rar

    ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 中文技术文档ZK框架 ...

    zk的chm版的api帮助文档

    zk的chm版的api英文帮助文档. 本人自己制作的。 zk是台湾的一个纯ajax框架。

    zk中文人员开发手册.rar

    **ZK 开发手册中文版概述** ZK 是一个基于组件的 Java Web 用户界面框架,专为构建富互联网应用程序(RIA)而设计。它提供了一种简单、直观的方式来创建交互式用户界面,无需掌握复杂的 JavaScript 或 AJAX 技术。...

    zk框架学习中文手册

    同时,ZK的文档和社区资源丰富,尤其是中文文档的存在,对于中文开发者来说,学习和解决问题变得更加方便。 至于“codefans.net”,这个文件名可能指的是一个网站或者论坛,通常在学习ZK框架时,开发者可能会在Code...

    ZK 中文文档Version 3.5.1

    ZK 中文文档Version 3.5.1

    ZK开发手册中文3.5.1版

    《ZK开发手册中文3.5.1版》是一份专为开发者设计的详尽指南,旨在帮助读者深入了解和熟练掌握ZK框架的使用。ZK是一个基于组件的Java Web UI框架,它允许开发者创建富客户端应用而无需深厚的JavaScript技能。这个版本...

    TPC-ZK-II集成开发环境(64位).rar

    集成开发环境是程序员进行软件开发的主要工作平台,它整合了代码编辑器、编译器、调试器和各种辅助工具,提供了一站式的编程解决方案。TPC-ZK-II正是这样一款为微机程序设计定制的IDE,旨在简化开发流程,提高开发...

    zk项目搭建文档

    zk项目搭建文档,用于zk项目的mvvm模式的 开发 项目。

    Mycat ZK配置文件详解

    Mycat的多中心集群方案通常应用于跨地域的分布式环境,例如,一个双中心或多中心的解决方案,每个中心都包含一个或多个Mycat Cluster。每个Cluster由一组Mycat Server组成,它们共享相同的配置,并且可以进行负载...

    zk开发文档

    **ZooKeeper 开发文档详解** ZooKeeper 是一个分布式协调服务,由雅虎和Apache软件基金会共同开发,主要用于...记得在学习过程中,结合实践来加深理解,同时关注社区的更新和讨论,以便及时获取最新的信息和解决方案。

    ZK文档开发

    根据给定的信息,“ZK文档开发”主要涉及的是ZK框架下的开发技术。ZK是一款用于构建企业级Web应用程序的强大工具包,它提供了一种基于组件的开发模式,支持多种前端技术(如HTML、CSS、JavaScript等)以及后端集成...

    指纹采集器_中控ZK4500_驱动.zip

    1. 下载:用户可以从中控科技的官方网站或者提供的链接下载ZK4500_driver压缩文件。 2. 解压:解压缩下载的zip文件,得到驱动安装程序。 3. 安装:双击运行解压后的安装程序,按照提示完成安装过程,通常包括接受...

    zk开发手册和注意事项

    首先,在Eclipse中添加ZK智能提示文件的扩展名支持,然后引入ZUL文件对应的XML结构定义文档(zul.xsd)。这样ZUL文件不再是普通的文本文件,而是具有智能提示的XML文件,大大提高了开发过程中的可读性和易用性。zul....

    ZK中文开发手册 html

    12. **案例研究与示例**:通过实际项目案例,帮助读者理解ZK在不同应用场景下的解决方案。 通过阅读和实践《ZK开发手册(中文)》,开发者不仅能掌握ZK框架的基本用法,还能深入了解其高级特性和最佳实践,从而更高效...

    zk框架开发帮助文档

    这个"zk框架开发帮助文档"显然是为了指导开发者如何有效地利用Zookeeper进行系统设计和开发。 一、Zookeeper基本概念 1. 节点(Znode):Zookeeper数据存储的基本单元,类似于文件系统中的文件或目录。每个节点都有...

    zkAPI 的chm文件

    《ZK API 使用指南》 ZK API 是 ZooKeeper 的一套接口,ZooKeeper 是一个分布式的、开放源码的...提供的 CHM 文件《ZK API 使用指南》将帮助你更全面地了解和掌握这些功能,进一步提升你的分布式协调服务开发能力。

    zk 6 学习资料

    配置是ZK应用的核心部分,这份文档详细介绍了ZK的各种配置选项,如ZK服务器参数、组件属性、主题定制等。通过深入理解配置,开发者能够优化应用性能,实现自定义功能。 3. **开发者的参考(ZK 6.0.1 Developer's ...

Global site tag (gtag.js) - Google Analytics