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

  • 相关阅读:
    【转】深入理解Java内存模型(二)——重排序
    mysql 查询表字段信息(字段名、描述、类型、长度)
    SQL-Server随机日期值
    浏览器一直不停的异步请求(环境:vs.net mvc)
    asp.net mvc 默认首页设置静态文件
    字符串转json对象 SyntaxError: missing ; before statement
    SQL Server 自增标识位插入显示值
    c# 去除字符串中的换行符 " "
    处理SQL注入参考
    多线程简单应用示例
  • 原文地址:https://www.cnblogs.com/jinghuimin/p/5000808.html
Copyright © 2011-2022 走看看