//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