ASP.NET——基础 15、HttpHandler
1、HttpHandler
- 是通过对请求的响应,输出普通html,图片,一个文件(下载)
- 一般,普通Html用aspx响应,非Html用HttpHandler响应输出。
2、动态输出图片,图片中加一些信息
Context.Response.ContentType="image/JPEG"; Using(System.Drawing.Bitmap bitmap=new System.Drawing.Bitmap(300,300)) { Using(System.Drawing.Graphics g=System.Drawing.Graphics.FormImage(bitmap)) { Using(Font font=new System.Drawing.Font("宋体",30)) { g.DrawString("IP:"+Context.Request.UserHostAddress,font,System.Drawing.Brushes.Red,0,0); //Context.Request.Browser.Platform "操作系统" //context.Request.Browser.Type "浏览器" } } }
3、下载文件,响应报文头中,会有Content-Disposition
Context.Response.ContentType="image/JPEG";
Context.Response.AddHeader("Content-Disposition","attachment:filename=haha.jpg");
//处理,附件,默认文件名
Context.Response.WriteFile("aaa.jpg");
4、如果默认下载文件名为中文,必须使用UrlEncode对文件名进行编码
string filename=HttpUtility.UrlEncode("哈哈.jpg");
5、下载地址为ashx文件
<a href="tupian.ashx" />
6、图片是动态输出给用户,未生成文件存在服务器以提供下载。
- 能直接生成的内容以流的形式输出给浏览器,就不要生成临时文件,避免重名问题。
7、Mdf文件建在App_Data,此文件夹下的文件会禁止下载,连接数据库用 |DataDirectory|, 用DataReader读
学习本是一个不断模仿、练习、创新的过程。对于自己,博文只是总结。在总结的过程发现问题,解决问题。对于他人,在此过程如果还能附带帮助他人,那就再好不过了。 感谢您的阅读。如果文章对您有用,那么请打赏我一杯咖啡,也可以轻轻点个推荐,以资鼓励。
微信打赏
支付宝打赏