zoukankan      html  css  js  c++  java
  • asp.net中部打开新页面下载文件

    在生成了要下载的文件后,调用如下代码即可实现 点击下载按钮,页面无任何刷新或弹出新页面即下载文件

    //打开要下载的文件
        System.IO.FileStream r = new System.IO.FileStream(FilePath, System.IO.FileMode.Open);
        //设置基本信息
        Response.Buffer = false;
        Response.AddHeader("Connection", "Keep-Alive");
        Response.ContentType = "application/octet-stream";
        Response.AddHeader("Content-Disposition", "attachment;filename=" + System.IO.Path.GetFileName(FilePath));
        Response.AddHeader("Content-Length", r.Length.ToString());

                
        while (true)
        {
         //开辟缓冲区空间
         byte[] buffer = new byte[1024];
         //读取文件的数据
         int leng = r.Read(buffer, 0, 1024);
         if (leng == 0)//到文件尾,结束
          break;
         if (leng == 1024)//读出的文件数据长度等于缓冲区长度,直接将缓冲区数据写入
          Response.BinaryWrite(buffer);
         else
         {
          //读出文件数据比缓冲区小,重新定义缓冲区大小,只用于读取文件的最后一个数据块
          byte[] b = new byte[leng];
          for (int i = 0; i < leng; i++)
           b[i] = buffer[i];
          Response.BinaryWrite(b);
         }
        }
        r.Close();//关闭下载文件
        Response.End();//结束文件下载

  • 相关阅读:
    第一阶段冲刺(第六天)
    第一阶段冲刺(第五天)
    第一阶段冲刺(第四天)
    第一阶段冲刺(第三天)
    第一阶段冲刺(第二天)
    个人学习进度(第十一周)
    第一阶段冲刺(第一天)
    个人学习进度(第十周)
    个人学习进度(第九周)
    php面向对象说明
  • 原文地址:https://www.cnblogs.com/jacktu/p/1230183.html
Copyright © 2011-2022 走看看