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();
}
}); */
}
});
}
xml或其他附件下载到客户端的更多相关文章
- IE8下导入EXCEL数据传到客户端以附件下载
IE8下导入EXCEL数据传到客户端以附件下载方式出现,而不显示数据,解决方法:以text/html格式返回. HttpResponseMessage message = new HttpRespon ...
- 解析:使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象
之前开发时遇到的一个问题,使用easyui的form提交表单,在Chrome下时没问题的,但是在IE下出现类似附件下载时提示是否保存的现象. 这里记录一下如何解决的.其实这个现象不光是easyui的f ...
- phonegap 附件下载及打开附件
出处:http://my.oschina.net/u/1011854/blog/169434 再次 谢谢作者! 在开发web app并且使用phonegap的情况下,附件下载着实是一件令人头疼的事,什 ...
- javamail模拟邮箱功能获取邮件内容-中级实战篇【内容|附件下载方法】(javamail API电子邮件实例)
引言: JavaMail jar包下载地址:http://java.sun.com/products/javamail/downloads/index.html 此篇是紧随上篇文章而封装出来的,阅读本 ...
- 使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象
之前开发时遇到的一个问题,使用easyui的form提交表单,在Chrome下时没问题的,但是在IE下出现类似附件下载时提示是否保存的现象. 这里记录一下如何解决的.其实这个现象不光是easyui的f ...
- javaweb-JSP action中附件下载的写法
附件下载(包括图片,exl,word)在前台必须给出一个iframe 或者类似于window的窗口,另外,Java文件下载不能通过ajax进行请求,必须添加src属性首选,前台的链接拼接html如下 ...
- NetworkComms 文件上传下载和客户端自动升级(非开源)
演示程序下载地址:http://pan.baidu.com/s/1geVfmcr 淘宝地址:https://shop183793329.taobao.com 联系QQ号:3201175853 许可:购 ...
- android 后台附件下载
在service中通过在oncreat()中开启一个线程,轮训ArrayList<AttachmentTask> 我这个附件下载的任务list ,ArrayList<Attachme ...
- Python 实现 Discuz论坛附件下载权限绕过漏洞
背景:最近压力有些大,想玩点游戏放松下,去Mac论坛下载,发现需要各种权限,于是蛋疼了. 所以,上网查了discuz! x3.1破解,手动替换,发现出现“链接已过期”.所以写了下面程序. 0.将下列代 ...
随机推荐
- java 中String编码和byte 解码总结——字节流和字符流
1.InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符 InputStreamReader(InputStream in, Strin ...
- pat00-自测1. 打印沙漏(20)
00-自测1. 打印沙漏(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求你写个程序把给定的符号打 ...
- File upload error - unable to create a temporary file
php上传图片的时候会报错: File upload error - unable to create a temporary file 文件上传错误 - 无法创建一个临时文件 你只需要打开你的php ...
- 用R处理不平衡的数据
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文来自云+社区翻译社,作者ArrayZoneYour 在分类问题当中,数据不平衡是指样本中某一类的样本数远大于其他的类别样本数.相比于多分 ...
- Jvav Collection-List
package 集合; import java.util.ArrayList; import java.util.Collection; /** * 集合和数组的区别: * 1.长度 * 数组长度固定 ...
- [转]Setting the NLog database connection string in the ASP.NET Core appsettings.json
本文转自:https://damienbod.com/2016/09/22/setting-the-nlog-database-connection-string-in-the-asp-net-cor ...
- MongoDB集群怎样去访问?
上一章节简单介绍了MONGODB的集群搭建.相信大家都已经很熟悉了.集群搭建完接下来应该考虑我们的程序应该怎样去访问他. 怎么读写数据等操作.下面把我在工作中的一些用法列出来供大家作为参考. 官网的链 ...
- union、except和intersect查询
1. union联合查询 (合并) select r.room_id from room r union select rp.num from room_type rp 要求表1和表2的查询结果结构 ...
- java中如何遍历实体类的属性和数据类型以及属性值
package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTa ...
- Linux进程优先级和nice值
在学习了linux的完全公平调度算法(CFS)后,记录下学习轨迹 这篇文章主要讲述,完全公平调度算法的工作方式,和一些调度知识 我们可以通过ps -l看到当前正在运行的进程的详细信息其中 F:表示进程 ...