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));
    

      

  • 相关阅读:
    GNU make manual 翻译(九十九)
    GNU make manual 翻译( 九十五)
    Shell的 for 循环小例子
    makefile中对目录遍历的小例子
    GNU make manual 翻译(九十三)
    GNU make manual 翻译( 一百)
    GNU make manual 翻译( 九十七)
    GNU make manual 翻译( 九十八)
    mapserver4.8.3 的readme.win32的中文翻译文件
    遥控器编程
  • 原文地址:https://www.cnblogs.com/coolyylu/p/13992531.html
Copyright © 2011-2022 走看看