使用HttpHandlers异步传输图片

原创 2006年06月04日 11:45:00

在这篇不算文章的文章之前,我建议大家去看看Mansoor Ahmed Siddiqui的那篇《HTTP Handlers and HTTP Modules in ASP.NET》,那里面详细介绍了HTTP Handlers和HTTP Moudules 的使用方法。

第一步我们使用.net建立一个web应用程序项目,添加一个类,它继承了IHttpHandler和 IRequiresSessionState,用于处理请求并向客户端传送请求,如下,编译后默认应该为test.dll,assemblyname应该为test:

using System;
using System.IO;
using System.Web;
using System.Data;
using System.Web.SessionState;

namespace test

{

      public class image: IHttpHandler, IRequiresSessionState

      {

              public bool IsReusable
              {
                    get 
                    {
                             return true;
                    }
              }

              public void ProcessRequest(HttpContext context)
              {

                    FileStream fs = new FileStream(@"f:/nothing.gif",FileMode.Open,FileAccess.Read);
                    int length = (int)fs.Length;
                    byte[] b = new byte[length];
                    fs.Read(b,0,length);
                    fs.Close();
    
                    HttpContext.Current.Response.OutputStream.Write(b, 0, length);
                    HttpContext.Current.Response.End();

              }

      }

}

第二步在项目下webconfig中配置:

<httpHandlers>

<add verb="*" path="getimage.ashx" type="test.image,test" />

</httpHandlers>

第三步就是使用,添加一个.aspx或者html页面,然后使用js进行请求:

document.getElementById("Image").src = "getimage.ashx";

如果需要传递参数:

document.getElementById("Image").src="getimage.ashx?a=1&b=2";

这样需要在image类中增加接收参数的处理,其实和页面之间的参数传递一样:

string a = context.Request["a"];

注:使用过MapXtreme2005的开发人员应该很清楚,因为MapXtreme2005中WebControls的工作原理也正在于此。

相关文章推荐

ajax异步上传输图片

(PS:由于上传文件会给服务器造成负担,这里明河就不将demo上传,请自行在本地服务器测试demo。) 有一段时间没发文章了,明河手上项目太紧了,终于快临近发布了,偷闲跟大家分享下ajax异步文件上...

异步传输图片到后台处理

使用jqury中的jquery-form.js   例: $("#uploadFormId").ajaxSubmit(function(data){ $("#uploadHeadPort...

libusb异步中断传输使用说明

基于libusbx-1.0.18-rc1,libusbx现已重新merage到libusb。 1. 初始化 使用libusb_init初始化libusb,如果是单设备通信,ctx参数可以传NULL...

使用ImageLoader实现图片异步加载

  • 2013年12月22日 00:42
  • 3.35MB
  • 下载

ajax在JavaScript的使用:异步传输,局部刷新

ajax在JavaScript的使用:异步传输,局部刷新

使用 JSON 进行数据的异步传输

JSON(JavaScript Object Notation)允许轻松地将 JavaScript 对象转换成可以随请求发送的数据(同步或异步都可以)。本文首先介绍JSON的数据格式,接着介绍如何在 ...

Axis2传输级异步使用方式

百度“Axis”,“异步”的时候多会返回Axis2 web service异步调用相关的结果,可异步调用并不能解决我的问题,我需要的是传输级的异步。 但是我在实际应用中遇到了这样的情况:需要调用一个w...
  • hyt502
  • hyt502
  • 2016年12月01日 16:03
  • 112
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用HttpHandlers异步传输图片
举报原因:
原因补充:

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