下载文件(类似与<A href>)

       protected void Button1_Click(object sender, EventArgs e)
        {
            FileInfo DownloadFile = new FileInfo(Server.MapPath("hibernate.cfg.xml"));  //将该文件放入下载对象中
            System.Web.HttpContext.Current.Response.Clear();//清理缓存中已有的内容
            System.Web.HttpContext.Current.Response.ClearHeaders();
            System.Web.HttpContext.Current.Response.Buffer = false; //缓存关闭
            System.Web.HttpContext.Current.Response.ContentType = "application/octet-stream";  //下载类型为输入流
            System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.UTF8));//下载格式为UTF-8
            System.Web.HttpContext.Current.Response.AppendHeader("Content-Length", DownloadFile.Length.ToString()); //下载文件内容文字长度
            System.Web.HttpContext.Current.Response.WriteFile(DownloadFile.FullName); //输入该流下载文件
            System.Web.HttpContext.Current.Response.Flush();       //关闭内存
            System.Web.HttpContext.Current.Response.End();
        }
posted @   iDEAAM  阅读(594)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示