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

      

  • 相关阅读:
    CharacterEncodingFilter详解及源码解析
    SPI 串行Flash闪存W25Q128FV 的使用(STM32F407)_硬件篇
    STM32 TFT LCD
    什么叫状态机:按键消抖实例
    STM32 ADC单通道采集 (STM32F103C8T6 ADC1的0通道 )
    STM32 PWM输出 (STM32F103C8T6 TIM2_CH2 )
    STM32 多通道ADC连续采集之数据到内存 DMA传输
    STM32 DAM之串口通讯
    STM32定时器之PWM 4路输出 TIM3、TIM14
    STM32定时器 TIM14之PWM 可调脉宽输出 呼吸灯
  • 原文地址:https://www.cnblogs.com/coolyylu/p/13992531.html
Copyright © 2011-2022 走看看