【第22期】观点:IT 行业加班,到底有没有价值?

C# 一般处理程序下载文件

原创 2016年08月31日 12:29:35

利用一般处理程序下载文件,会在很多时候用到,但是,这是一条不归路啊,路上各种坑,不是乱码就是下载不下来。同样,今天我也踩上了这颗雷。还好,我是排雷兵,一样一样的排除

C# code

 //文件下载
        public void downloadfile(HttpContext context, string s_fileName)
        {
            string path = s_fileName;
            System.IO.FileInfo file = new System.IO.FileInfo(System.Web.HttpContext.Current.Server.MapPath(path));
            context.Response.Clear();
            context.Response.Charset = "UTF-8";
            context.Response.ContentEncoding = System.Text.Encoding.UTF8;
            context.Response.AddHeader("Content-Type", "application/octet-stream");
            // 添加头信息,为"文件下载/另存为"对话框指定默认文件名,设定编码为UTF8,防止中文文件名出现乱码
            context.Response.AddHeader("Content-Disposition","attachment; filename="+ System.Web.HttpUtility.UrlEncode(file.Name, System.Text.Encoding.UTF8));
            // 添加头信息,指定文件大小,让浏览器能够显示下载进度
            context.Response.AddHeader("Content-Length", file.Length.ToString());
            //// 指定返回的是一个不能被客户端读取的流,必须被下载
            context.Response.ContentType = "application/ms-excel";
            // 把文件流发送到客户端
            context.Response.WriteFile(file.FullName);
            // 停止页面的执行
            context.Response.End();
        }

注意:html页面一定不能是用ajax去请求一般处理程序,否则累死也实现不了下载,他会永远给你弹出一个框,一面一堆乱码

一定要同<a href="....../a.ashx">下载</a>这样的请求方式才可以,需要传参的话,直接在后面拼上就行

这样,轻轻松松搞定


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

asp.net 一般处理程序

asp.net:一般处理程序.ashx效率比较高效,WebForm(aspx)比较消耗资源,MVC(效率刚好介于两者之间) asp.net里常用的文件 .ashx 一般处理程序HttpHandle...
  • lzz360
  • lzz360
  • 2013-09-23 22:09
  • 21089

ashx一般处理程序

.NET里面webform的后缀是aspx WCF和WebService的后缀是asmx 然后今天拿到一个客户端代码,调用服务端,服务端后缀是ashx瞬间傻蛋了,.NET我不知道的组件真多。 四个...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

一般处理程序.ashx的应用

利用“一般处理程序”。如果你实用的是vs2005你在添加新项中可以见到“一般处理程序”,它的后缀名为.ashx。它是什么?其实它和.aspx很类似。先问问.aspx是如何工作的?也许你知道,.aspx...

一般处理程序

不同平台之间通信,可以选择web server,TCP,UDP,一般处理程序,WEBAPI等等等等 不要跑 但是我一个都不会。慌死我了,怎么办怎么办怎么办................ 我的一般...

一般处理程序完成增删改查

以前在学校ASP.NET都是用控件(如gridview),今天第一次接触用一般处理程序(.ashx)实现单表增删改查。 百度云盘下载链接:http://pan.baidu.com/share/lin...

Asp.net 一般处理程序+扩展

最近,在做项目的过程中,用到了很多的一般处理程序,相信你也用到了,但是你真的了解它吗? 介绍:                             一般处理程序的一般是相对于aspx页面来说的...

一般处理程序.ashx

在前面那篇有关智能提示的推荐文章中,作者用到了.ashx文件和jQuery。说句实话,对于.ashx当时还真是第一次听说,……为了弥补自己知识上的缺陷,在网上恶补了一下,终于对此类文件有了一个初步的认...

ashx和aspx的区别

ashx是什么文件? .ashx 文件用于写web handler的。.ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处...

aspx页面与ashx的区别

html (htm): 由浏览器来解释(翻译)代码并显示给使用者浏览。因此,其几乎不占用服务器资源,可以直接发送给请求者,由请求者的浏览器来负责解释工作。 aspx:  由服务器中的.net编译...

Asp.net MVC4 使用EF实现数据库的增删改查

EF的使用 步骤: (1)将EF添加到项目:在Model右击添加新建项 找到ADO.NET实体数据模型,接着。。。 (2)实现数据库的增删改查 查询 (因为在Model中已经添...
  • lzz360
  • lzz360
  • 2013-09-21 15:11
  • 46297
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)