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读

 

转载于:https://www.cnblogs.com/msdynax/archive/2013/02/14/2911266.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值