页面通过iframe下载,提交from表单下载

本文介绍两种网页文件下载的方法:一是通过JS动态创建form表单并提交以触发文件下载,此方法相对安全;二是利用iframe加载URL来实现文件下载。文中还提供了具体的JavaScript实现代码。

 

最简单的,页面中放的A标签,指向下载地址就可以下载了,(可以在href后加参数)

服务器端通过response写流就可以弹出下载框了,

 

有的可能是按钮,需要调方法后下载,

 

一、js添加form表单,提交下载

比用url请求的,看起来安全点

function exportExcel(){
	var businessType = "w";
	var catalogID = "1";
	
	var f = document.createElement("form");
	f.method = "post";
	f.action = "/projectName/ExportExcelServlet";
	
	f.appendChild(createInput("hidden", "businessType", businessType));
	f.appendChild(createInput("hidden", "catalogID", catalogID));
	
	document.body.appendChild(f);
	f.submit();
}

//创建input元素
function createInput(type, name, value){
	var i = document.createElement("input");
	i.type = type;
	i.name = name;
	i.value = value;
	return i;
}

 

 

二、js添加iframe,通过url下载

function exportExcel(){
	var businessType = "w";
	var catalogID = "1";
	var url = "/projectName/ExportExcelServlet?businessType="+businessType+"&catalogID="+catalogID;
	exportByUrl(url);

}

/**
 * 通过iFrame实现类ajax文件下载 by zhao
 */
function exportByUrl(url) {
	var exportIframe = document.createElement('iframe');
	exportIframe.src = url;
	exportIframe.style.display = "none";
	document.body.appendChild(exportIframe);
	//hideWaitMsg();
}

  

相关:

poi导出excel,不使用模板的

http://happyqing.iteye.com/blog/2075985

HttpClient 3.1下载文件

http://happyqing.iteye.com/blog/2089621

HttpClient 4.1 下载文件

http://happyqing.iteye.com/blog/2089627

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值