zoukankan      html  css  js  c++  java
  • TransmitFile下载文件(部分转载)

    例子代码:

    public void Down()
    {
    TransmitFile(@"/File/KBPub.zip");
    }
    public void TransmitFile(string filePath) //filePath 下载的文件的相对路径
    {
    try
    {
    filePath = Server.MapPath(filePath);
    if (System.IO.File.Exists(filePath))
    {
    FileInfo info = new FileInfo(filePath);
    long fileSize = info.Length;
    System.Web.HttpContext.Current.Response.Clear();
    System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
    System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + filePath.Substring(filePath.LastIndexOf("\\") + 1)); //filename 下载后显示的文件名
    //不指明Content-Length用Flush的话不会显示下载进度的
    System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
    System.Web.HttpContext.Current.Response.TransmitFile(filePath, 0, fileSize);
    System.Web.HttpContext.Current.Response.Flush();
    }
    }
    catch
    { }
    finally
    {
    System.Web.HttpContext.Current.Response.Close();
    }

    }

    WriteFile方式:

    public void WriteFile(string filePath)
    {
    try
    {
    filePath = Server.MapPath(filePath);
    if (System.IO.File.Exists(filePath))
    {
    FileInfo info = new FileInfo(filePath);
    long fileSize = info.Length;
    System.Web.HttpContext.Current.Response.Clear();
    System.Web.HttpContext.Current.Response.ContentType = "application/octet-stream";
    System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachement;filename=" + Server.UrlEncode(info.FullName));
    //指定文件大小
    System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
    System.Web.HttpContext.Current.Response.WriteFile(filePath, 0, fileSize);
    System.Web.HttpContext.Current.Response.Flush();
    }
    }
    catch
    { }
    finally
    {
    System.Web.HttpContext.Current.Response.Close();
    }
    }

  • 相关阅读:
    HDU 1501 Zipper(DFS)
    HDU 2181 哈密顿绕行世界问题(DFS)
    HDU 1254 推箱子(BFS)
    HDU 1045 Fire Net (DFS)
    HDU 2212 DFS
    HDU 1241Oil Deposits (DFS)
    HDU 1312 Red and Black (DFS)
    HDU 1010 Tempter of the Bone(DFS+奇偶剪枝)
    HDU 1022 Train Problem I(栈)
    HDU 1008 u Calculate e
  • 原文地址:https://www.cnblogs.com/jinghuimin/p/5000808.html
Copyright © 2011-2022 走看看