zoukankan      html  css  js  c++  java
  • C#中使用Response下载

    正常流程

    正常的从服务器端下载文件的流程
    System.IO.FileInfo file = new System.IO.FileInfo(s_path);
    HttpContext.Current.Response.ContentType = "application/ms-download";
    HttpContext.Current.Response.Clear();
    HttpContext.Current.Response.AddHeader("Content-Type", "application/octet-stream");
    HttpContext.Current.Response.Charset = "utf-8";
    HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(file.Name, System.Text.Encoding.UTF8));
    HttpContext.Current.Response.AddHeader("Content-Length", file.Length.ToString());
    HttpContext.Current.Response.WriteFile(file.FullName);
    HttpContext.Current.Response.Flush();
    HttpContext.Current.Response.Clear();
    HttpContext.Current.Response.End();

    调试

    对于最后一句代码HttpContext.Current.Response.End();
    此语句执行后 后面的代码就不会被执行。
    查看Log日志中记录的Exception的信息,显示HttpContext.Current.Response.End()这条语句正在停止进程,也就是不会再执行后面的代码。

    总结

    如果在调用该方法后还有要执行的代码,就注释掉最后一句代码。
    即为:
    System.IO.FileInfo file = new System.IO.FileInfo(s_path);
    HttpContext.Current.Response.ContentType = "application/ms-download";
    HttpContext.Current.Response.Clear();
    HttpContext.Current.Response.AddHeader("Content-Type", "application/octet-stream");
    HttpContext.Current.Response.Charset = "utf-8";
    HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(file.Name, System.Text.Encoding.UTF8));
    HttpContext.Current.Response.AddHeader("Content-Length", file.Length.ToString());
    HttpContext.Current.Response.WriteFile(file.FullName);
    HttpContext.Current.Response.Flush();
    HttpContext.Current.Response.Clear();
    //注释该行代码
    //HttpContext.Current.Response.End();
  • 相关阅读:
    我有推特
    几大浏览器最新的javascript引擎
    有关表达式树
    路由跟踪命令
    利用httpwebrequest解析网站的文本文件
    技术的学习及一些总结
    nhibernate使用记录
    Introducing “Razor” – a new view engine for ASP.NET
    android属性设置
    android连续按两次返回退出程序
  • 原文地址:https://www.cnblogs.com/masonblog/p/12740743.html
Copyright © 2011-2022 走看看