form上传以及下载文件回调
https://www.cnblogs.com/huage-1234/p/7366363.html
https://blog.csdn.net/weixin_43165220/article/details/103906831
前端:调用export_data()
function get_download_frame() {
var elemIF = document.createElement("iframe");
elemIF.name = "download_frame";
elemIF.id = "download_frame";
elemIF.style.display = "none";
document.body.appendChild(elemIF);
return elemIF;
}
function export_data() {
mask_loading("下载文件,请稍后......");
var downloadToken= +new Date();
var zexport_url = "downfile.aspx?downloadToken=" + downloadToken;
var elemIF = get_download_frame();
var zfilter = get_filter();
submit_post(zfilter, zexport_url, elemIF.name);
function checkToken() {
var token = getCookie("downloadToken");
if (token && token == downloadToken) {
clearTimeout(downloadTimer);
unmask();
}
}
var downloadTimer = setInterval(checkToken, 1000);
}
function getCookie(cookieName) {
var strCookie = document.cookie;
var arrCookie = strCookie.split("; ");
for (var i = 0; i < arrCookie.length; i++) {
var arr = arrCookie[i].split("=");
if (cookieName == arr[0]) {
return arr[1];
}
}
return "";
}
function submit_post(zfilter, url, target) {
var f = document.createElement("form");
f.name = "report";
document.body.appendChild(f);
for (var p in zfilter) {
var i = document.createElement("input");
i.type = "hidden";
i.value = zfilter[p];
i.name = p;
f.appendChild(i);
}
f.action = url;
f.target = target;
f.method = "post";
f.submit();
f.parentNode.removeChild(f);
}
function get_filter() {
var zfilter = {
search1: ""
};
return zfilter;
}
后端
excel.SaveAs(response.OutputStream);
string downloadToken = Request["downloadToken"];
if (!string.IsNullOrEmpty(downloadToken))
{
HttpCookie cookie = new HttpCookie("downloadToken", downloadToken);
cookie.Expires = System.DateTime.Now.AddMinutes(80);
cookie.Path = "/";
response.Cookies.Add(cookie);
}
response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
string exportFileName = "MRP_" + string.Concat(
sourceTable.TableName,
DateTime.Now.ToString("yyyyMMddHHmmss"),
".xlsx");
response.AddHeader("content-disposition", string.Format("attachment;filename={0}", exportFileName));
浙公网安备 33010602011771号