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.将下列代 ...
随机推荐
- 求入栈顺序为1234……N的序列的所有可能的出栈序列
class Program { private static void Fun(int x, int n, Stack<int> stack, List<int> outLis ...
- emacs使用笔记
C-h t tutorial [移动基本操作]C-f C-b C-p C-n 前后上下 C-v C-a 行首 C-e行尾C-a 和 C-e 可以将光标移动到"一行"的头部和尾部.M ...
- Linux之FTP篇
内容简介: vsftpd的安装 目录介绍 配置参数解释 锁定用户目录 其他用户不能登录 -------------------------------------------------------- ...
- 《Python编程从入门到实践》_第二章_变量和简单数据类型
什么是变量 举例: >>> message = "Hello,Python!" >>> print (message) Hello,Python ...
- 网页设计,Access入门 2010,语文
Access入门 2010(select查询) order by(按升序排列)?+desc(按降序排列) group by(进行分组,下一行只能用having) sum(数值总数)?+as?(新字段的 ...
- python数据处理
1.数据清洗 1.1 数据格式化 数据格式化是数据清洗常见的形式之一,就是将可读性差的或无法阅读的数据转换成可读性较强的数据格式. python对字符串和数字都有格式化的方法,如%s, %d分别代表格 ...
- jdbc封装DBUtil
1.编写实体类User public class User { private Integer id; private String username; private Integer age; pr ...
- ADO.NET教程(1)初识ado.net
ADO.NET简介 ADO.NET使用到的类 需掌握的方法和属性 ado.net连接实例 ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的 ...
- 04.Dictionary字典键值对集合
Dictionary字典键值对集合和Hashtable键值对集合的功能非常类似, 只是在声明的时候,必须为其制定值的类型. 示例代码: namespace _11.Dictionary字典集合的学习 ...
- Vue中使用eslint
.eslintrc.js module.exports = { root: true, parser: 'babel-eslint', "env": { "browser ...