zoukankan      html  css  js  c++  java
  • 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));
    

      

  • 相关阅读:
    在CentOS 7上安装Docker
    VMware虚拟机上安装CentOS 7
    5、Linux的常用命令
    3.Linux 系统目录结构
    2、Linux的关机方式
    zepto callback
    解callback嵌套
    debugger 调试的一些经验
    Chrome Timeline的指标说明:Blocked、Connect、Send、Wait、Receive
    jquery ajax promise
  • 原文地址:https://www.cnblogs.com/coolyylu/p/13992531.html
Copyright © 2011-2022 走看看