xml或其他附件下载到客户端

//xml
                Document document=DocumentHelper.createDocument();
                Element root=document.addElement("root");

//。。。。。省略document的过程。。。。。

//下载到指定目录
OutputFormat format=OutputFormat.createPrettyPrint();
                format.setEncoding("UTF-8");
                XMLWriter writer=new XMLWriter(new FileOutputStream(new File("D://dzoa.xml")),format);
                writer.write(document);
                writer.close();

//下载到客户端
DownloadTool.doReady(response, "application/octet-stream", 0, "dzoa.xml");
                XMLWriter writer=new XMLWriter(response.getOutputStream(), OutputFormat.createPrettyPrint());
                writer.write(document);
         writer.close();

//相关方法代码
  /**
     * @param mimeType 文件的mime-type,如为null或空字符串,就取multipart/form-data
     * @param filelen  文件长度,大于0表示真实长度,0或负值表示unknown
     * @param fileName 文件名称
     * @param inline   可选项,是inline还是attachment,默认false
     */
    public static void doReady(HttpServletResponse response, String mimeType, long filelen, String fileName, boolean... inline) {
        if (mimeType == null || mimeType.isEmpty()) mimeType = "multipart/form-data";
        fileName = rawEncode(fileName); // RFC 3986

        response.setCharacterEncoding("UTF-8");
        response.setContentType(mimeType);
        if (filelen > 0) response.setHeader("Content-Length", String.valueOf(filelen));

        // firefox: filename*=utf-8‘‘
        // IE or chrome: filename= or filename*=utf-8‘‘
        // Xunlei: filename= or filename*=utf-8‘‘
        response.setHeader("Content-Disposition", ((inline.length > 0 && inline[0]) ? "inline" : "attachment") + "; filename=\"" + fileName + "\"" + "; filename*=utf-8‘‘" + fileName);
    }

------------------------------------一般情况的下载附件可调用下列方法-------------------------
   /**
     * @param mimeType 文件的mime-type,如为null或空字符串,就取multipart/form-data
     * @param data     数据
     * @param fileName 文件名称
     * @param inline   可选项,是inline还是attachment,默认false
     */
    public static void download(HttpServletResponse response, String mimeType, byte[] data, String fileName, boolean... inline) {
        response.reset();
        doReady(response, mimeType, (long) data.length, fileName, inline);

        OutputStream os = null;
        try {
            os = response.getOutputStream();
            os.write(data);
            os.flush();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            close(os);
        }
    }

-----------------------------------如果客户端还是没有出来附件下载,检查一下代码---------------------------------------

 //数据导出
     function gwExport(){
         top.$.fn._confirm("确认要导出数据吗?", function(i){
             if(1 == i){
                 var cVal = "";
                 var cValStr=[];
                 $("#myTable td input[name=fileCheck]").each(function(){
                     if(this.checked){
                        cValStr.push($(this).val());
                     }
                 });
                 cVal=cValStr.join(",");
                 if(cVal==""){
                     top.$.fn._alert("请选择需要导出的公文。");
                     return;
                 }

                 //alert(cVal);
                 location.href = "${ctx}/oa/myflow/procinst/gwExport?" + $.param({"pInsIds": cVal});
                 /* $.post("${ctx}/oa/myflow/procinst/gwExport", {"pInsIds": cVal}, function(data){
                     top.$.fn._alert(data.info);
                     if(data.state==1){
                        // location.reload();
                     }
                 }); */
             }
         });
     }

				
时间: 2024-10-06 14:53:33

xml或其他附件下载到客户端的相关文章

IE8下导入EXCEL数据传到客户端以附件下载

IE8下导入EXCEL数据传到客户端以附件下载方式出现,而不显示数据,解决方法:以text/html格式返回. HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.OK); message.Content = new StringContent("数据", Encoding.UTF8, "text/html"); return message;

解析:使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象

原文:解析:使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象 之前开发时遇到的一个问题,使用easyui的form提交表单,在Chrome下时没问题的,但是在IE下出现类似附件下载时提示是否保存的现象. 这里记录一下如何解决的.其实这个现象不光是easyui的form,还有其他一些form插件也是一样的,使用不当就会遇到这个问题. 前台: <!DOCTYPE html> <html> <head> <meta http-equiv=

phonegap 附件下载及打开附件

出处:http://my.oschina.net/u/1011854/blog/169434 再次 谢谢作者! 在开发web app并且使用phonegap的情况下,附件下载着实是一件令人头疼的事,什么window.open或者window.location.href在webview中都不起作用,网上查了许久,没有一篇完整讲述“phonegap附件下载及打开附件”的例子,现在分享一下.     首先,如果你可以接受的话,可以使用一种极其简单的方式来完成,点击操作之后,跳入手机默认浏览器进行下载,

【开源下载】客户端根据服务器端的指令弹出提示窗口(c#源码)

Demo可执行文件     Demo源码 开发技术winform  c#语言  .net2.0框架 通讯框架:来自英国的 networkcomms2.3.1 (开源 gplv3协议) 进入此页面下载 实现功能   服务器开始监听后  客户端连接上  服务器可以发送消息给客户端   客户端根据收到的消息弹出提示窗口 提示窗口的代码是来自网上的,在此整合进客户端了,感谢原作者 提示窗口代码原网址:http://download.csdn.net/detail/chai1338/3409454 程序界

javamail模拟邮箱功能收取电子邮件-中级实战篇【内容|附件下载方法】(javamail API电子邮件实例)

引言: JavaMail jar包下载地址:http://java.sun.com/products/javamail/downloads/index.html 此篇是紧随上篇文章而封装出来的,阅读本篇章建议先阅读上一篇  -->javamail模拟邮箱功能发送电子邮件-中级实战篇[新增附件发送方法](javamail API电子邮件实例) 在上一篇中,讲解了邮件发送的两个基本方法(HTML和附件),并且引入了两个新类 Multipart 和 BodyPart 两类,整体结构比较紧凑,邮件的服务

java、javascript实现附件下载

在web开发中,经常需要开发"下载"这一模块,以下给出一个简单的例子. 在服务器端,使用java开发: @RequestMapping(value = "download.html", method = RequestMethod.GET)     public void download(String resourceid, HttpServletRequest request, HttpServletResponse response) {        res

关于中文附件下载!~~~~~~~~~~

最近自己的项目发现中文不能下载(附件地址是项目的webroot下,属于直接链接),附件的herf含有中文就找不到. 我百度了好久,寻找的方向也是中文转码,URL包含中文方向. 后来发现自己完全错了,修改tomcat的配置文件就能做到 打开tomcat/conf/server.xml <Connector port="8080" URIEncoding="utf-8" protocol="HTTP/1.1" connectionTimeout

Python 实现 Discuz论坛附件下载权限绕过漏洞

背景:最近压力有些大,想玩点游戏放松下,去Mac论坛下载,发现需要各种权限,于是蛋疼了. 所以,上网查了discuz! x3.1破解,手动替换,发现出现“链接已过期”.所以写了下面程序. 0.将下列代码复制到你的python IDE中. 1.先进网页,chrome浏览器查看网页元素,替换正则表达式内内容. 2.刷新你要下载的页面,右键复制下载链接 url = ‘你复制的链接’ 3.运行python,你的IDE里面就会打印出真实下载地址. 运行环境:python3.5 操作系统:macpro 20

redmine 中文附件下载文件找不到

/redmine/app/views/attachments/_links.html.erb 找到 <p><%= link_to_attachment attachment, :class => 'icon icon-attachment', :download => true -%> 替换为 <p><%= link_to attachment.filename, attachment_path(attachment) , :class => '