HttpHandler初探 - 页面上输出图像

简介: ASP.NET处理底层HTTP请求有2种方式: 1)HttpModule      2) HttpHandler 今天我们来看一下HttpHandler的基本应用。   场景:利用HttpHandler在页面上输出一张图像。

ASP.NET处理底层HTTP请求有2种方式:

1)HttpModule      2) HttpHandler

今天我们来看一下HttpHandler的基本应用。

 

场景:利用HttpHandler在页面上输出一张图像。

在项目中添加HttpHandler的方法有2种:

一种是利用VS2008自带的Generic Handler模板添加扩展名为.ashx的文件。

另一种是利用WebConfig文件中的HttpHandler映射。

 

方法一(ashx模板):

首先利用VS2008自带的Generic Handler模板添加扩展名为.ashx的文件,

ashx代码如下:

using  System;
using  System.Web;

namespace  AspNet35.Advanced
{
    
    
public   class  picHandler : IHttpHandler
    {

        
public   void  ProcessRequest(HttpContext context)
        {
            context.Response.ContentType 
=   " image/jpeg " ;
            context.Response.WriteFile(
" ../Images/Garden.jpg " );
        }

        
public   bool  IsReusable
        {
            
get
            {
                
return   false ;
            }
        }
    }

}

 

然后在显示图片的页面中将<img>的源指向该ashx文件,aspx文件代码如下:

< div >
    
< img  src ="picHandler.ashx"   />
</ div >

 

 

方法二(WebConfig映射):

首先建立一个实现IHttpHandler接口的类,代码如下:

using  System.Web;

public   class  MyPicHandler : IHttpHandler
{

    
public   void  ProcessRequest(HttpContext context)
    {
        context.Response.ContentType 
=   " image/jpeg " ;
        context.Response.WriteFile(
" ~/Images/Sea.jpg " );
    }

    
public   bool  IsReusable
    {
        
get
        {
            
return   false ;
        }
    }

}

 

然后在WebConfig文件中映射该类,Web.config代码如下:

< system.web >
  
  
< httpHandlers >
    
    
< add  verb ="*"  path ="MyImage"  type ="MyPicHandler, App_Code"   />
  
</ httpHandlers >
</ system.web >

 

最后在page页面中将<img>的源指向webconfig文件中映射的别名,既path后面的名字,page代码如下:

< div >
    
< img  src ="MyImage"   />
</ div >

 

 

 

 

目录
相关文章
|
4月前
|
测试技术
【sgUploadTileImage】自定义组件:浏览器端生成瓦片图,并转换为File文件序列上传瓦片图
【sgUploadTileImage】自定义组件:浏览器端生成瓦片图,并转换为File文件序列上传瓦片图
|
1月前
|
Web App开发 缓存 网络协议
|
4月前
|
计算机视觉
OpenCV中读取、显示、保存图像及获取图像属性操作讲解及演示(附源码)
OpenCV中读取、显示、保存图像及获取图像属性操作讲解及演示(附源码)
127 0
|
4月前
|
缓存 网络协议 前端开发
一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么
一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么
26 0
|
前端开发
前端学习案例2-输入url到页面呈现的过程2
前端学习案例2-输入url到页面呈现的过程2
38 0
前端学习案例2-输入url到页面呈现的过程2
|
前端开发
前端学习案例1-输入url到页面呈现的过程1
前端学习案例1-输入url到页面呈现的过程1
58 0
前端学习案例1-输入url到页面呈现的过程1
|
域名解析 缓存 网络协议
从输入URL到页面呈现的全过程
简单来说,当用户在浏览器的地址栏中输入 URL 并点击回车后,浏览器从服务端获取资源,然后将内容显示在页面上。这个过程经过了:浏览器缓存 -> DNS 域名解析 -> URL 编码 -> 使用 HTTP 或者使用 HTTPS 协议发送请求 -> - 对于访问静态资源的 HTTP 请求:CDN -> CDN 回源到对象存储 OSS 或者源服务器 - 对于访问动态资源的 HTTP 请求:负载均衡器 Nginx -> 应用服务器 -> 缓存系统 -> 存储系统
7286 2
从输入URL到页面呈现的全过程
|
缓存 网络协议 前端开发
浏览器原理 04 # 导航流程:从输入URL到页面展示,这中间发生了什么?
浏览器原理 04 # 导航流程:从输入URL到页面展示,这中间发生了什么?
138 0
浏览器原理 04 # 导航流程:从输入URL到页面展示,这中间发生了什么?
|
缓存 前端开发 安全
Response中所隐藏的杀机---揭秘响应中所存在的脆弱点
正文 尝试注入Origin Header,例如:Origin: http://me.com,如果Response中包含Access-Control -Allow-Origin: http://me.com和Access-Control- allow - credentials: True
117 0
|
移动开发 JavaScript 前端开发
表单文本框的使用(二) 输入过滤(合成事件)
表单文本框的使用(二) 输入过滤(合成事件)
257 0