zoukankan      html  css  js  c++  java
  • ASP.NET 学习笔记_06 Httphandler

    1、httphandler

            

    实例1:通过生成一张动态图片输出客户端的IP地址、操作系统类型、浏览器类型

    <%@ WebHandler Language="C#" Class="visitor" %>
    
    using System;
    using System.Web;
    
    public class visitor : IHttpHandler {
    
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "image/JPEG";
            using (System.Drawing.Bitmap bitImage = new System.Drawing.Bitmap(330, 300))
            {
                //设置画布
                using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitImage))
                {
                    //IP
                    g.DrawString("IP:" + context.Request.UserHostAddress, new System.Drawing.Font("宋体", 20), System.Drawing.Brushes.Red, new System.Drawing.PointF(0, 0));
                    //操作系统
                    g.DrawString("操作系统:" + context.Request.Browser.Platform, new System.Drawing.Font("宋体", 20), System.Drawing.Brushes.Red, new System.Drawing.PointF(0, 50));
                    //浏览器
                    g.DrawString("浏览器:" + context.Request.Browser.Type, new System.Drawing.Font("宋体", 20), System.Drawing.Brushes.Red, new System.Drawing.PointF(0, 100));
                }
                //保存到输出流中
                bitImage.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
    
            }
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }
    
    }

    实例2:通过“下载”连接,弹出用户附件保存

    html代码:<a href="dowload.ashx">下载</a>

    <%@ WebHandler Language="C#" Class="dowload" %>
    
    using System;
    using System.Web;
    
    public class dowload : IHttpHandler {
    
        public void ProcessRequest(HttpContext context)
        {
            string fileName = HttpUtility.UrlEncode("悲剧.jpg");
            context.Response.ContentType = "image/JPEG";
    
            //打开附件对话框  报文头header和设置它的值
            context.Response.AddHeader("Content-Disposition", "attachment:filename=" + fileName);
            context.Response.WriteFile("苹果.jpg");       
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }
    
    }
  • 相关阅读:
    纯css实现全兼容的元素水平垂直居中
    javascript事件之:jQuery.event.dispatch详解
    jQuery事件之:jQuery.event.trigger
    javascript事件之:jQuery.event.remove事件详解
    javascript事件之:jQuery.event.add事件详解
    requirejs 使用实例
    javascript事件之:jQuery事件中Data数据结构
    The D Programming Language 书评
    我来写个人民币金额转大写的例子
    python 集合去重
  • 原文地址:https://www.cnblogs.com/daomul/p/2993206.html
Copyright © 2011-2022 走看看