handler.ashx文件的作用详解
ASP.NET2.0 Person Web Site:将图片以二进制的从数据库读取 在ASP.NET Person Web Site Starter Kits中,图片的是以二进制的形式存放在数据库里,微软提供的读取该图片的方式是通过handler.ashx来实现的. 首先你所看到的对图片的引用都是类似如下 <img src="Handler.ashx?AlbumID=<%# Eval("AlbumID") %> 的形式,也就是你所看到的每一个图片都由Handler.ashx动态生成,所以在你保存你所看到的"图片"时,它的命名都是Handler.ashx. 使用handler.ashx而不是handler.aspx来引用图片并不是一定的,换句话说,你可以将该文件改为handler.aspx并没有本质的区别,不过根据微软的文档,使用*.ashx作为扩展名的文档比*.aspx的文档性能高,因为它减少了控件树的生成. ---------- 这是handler.ashx代码: <%@ WebHandler Language="C#" Class="MyHandle" %> using System; using System.Web; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Web.Caching; using System.Data; public class MyHandle : IHttpHandler { public void ProcessRequest (HttpContext context) { //从数据库中取 MemoryStream ms = JSZ.SQLServerDAL.TestDAL.GetImage(1); DataTable dt = JSZ.SQLServerDAL.TestDAL.GetTable(1); Byte[] image = (Byte[])dt.Rows[0]["Photo"]; MemoryStream ms = new MemoryStream(image, 0, image.Length); if (ms != null) { //取得图像MemoryStream大小 int bufferSize = (int)ms.Length; //建立 buffer byte[] buffer = new byte[bufferSize]; //调用MemoryStream.Read,自MemoryStream 读取至buffer,并返回count int countSize = ms.Read(buffer, 0, bufferSize); //返回图像buffer context.Response.OutputStream.Write(buffer, 0, countSize); } } public bool IsReusable { get { return false; } } } 参考资料:http://zhidao.baidu.com/question/44242832.html |
handler.ashx文件的作用详解相关推荐
- linux文件目录:Linux中各目录(文件夹)作用详解(持续更新)
进入Linux系统,我们就是畅游在各种目录文件中,毕竟Linux是"文件系统",文件的存放就是在目录下面,那我们了解下"Linux中各目录(文件夹)作用详解"还 ...
- STM32中stm32f0xx_flash.icf文件的作用详解!
每个芯片开发商都会针对每款芯片来编写一个.icf文件就是传说中的链接文件.对于基本的应用,这个.icf文件足以满足你的工程需要.但有时也会需要改动,比如当你的项目要添加外部RAM时就要修改一下icf. ...
- 微信小程序项目中JSON文件的作用详解
在微信小程序开发项目中,会包含多个JSON文件,不同的JSON文件会有不同的作用,下面就微信小程序开发中的json文件进行说明. JSON配置文件: json 是一种数据格式,在实际开发中,json总 ...
- VMware虚拟机文件夹中各文件作用详解
VMware虚拟机文件夹中各文件作用详解 虚拟机的文件管理由VMware Workstation来执行. 一个虚拟机一般以一系列文件的形式储存在宿主机中, 这些文件一般在由workstation为虚拟 ...
- atitit.mp4 视频文件多媒体格式结构详解
atitit.mp4 视频文件多媒体格式结构详解 1. 一.基本概念1 2. MP4文件概述2 3. mp4是由一个个"box"组成的,2 4. 典型简化mp43 5. Fragm ...
- Android init.rc文件解析过程详解(三)
Android init.rc文件解析过程详解(三) 三.相关结构体 1.listnode listnode结构体用于建立双向链表,这种结构广泛用于kernel代码中, android源代码中定义了l ...
- Xposed源码剖析——app_process作用详解
Xposed源码剖析--app_process作用详解 首先吐槽一下CSDN的改版吧,发表这篇文章之前其实我已经将此篇文章写过了两三次了.就是发表不成功.而且CSDN将我的文章草稿也一带>删除掉 ...
- php文件上传详解,PHP文件上传实例详解!!!
这篇文章主要介绍了PHP文件上传实例代码,需要的朋友可以参考下 首先来看下上传部分的表单代码: 文件: 这里有几个要注意的地方,首先看这句 ,这里我们采用POST方法,个别浏览器还支持PUT方法,当 ...
- Linux(centos)系统各个目录的作用详解
转自:Linux(centos)系统各个目录的作用详解 现在公司的服务器使用CentOS系统,在网上找到了这篇介绍linux各个目录的文章,觉得十分不错,所以拿来存个档. 整理之后如下: 文件系统的类 ...
最新文章
- 2022-2028年中国自动驾驶系统行业现状调研分析报告
- 多倍体单体型组装算法研究
- 解决apt-get /var/lib/dpkg/lock-frontend 问题
- Vue—基础概念—实例
- 在VS2003下把一个DataTable Update 到数据库
- ARM发布自动驾驶芯片架构,重新宣示车载系统市场的主权
- C语言指针函数和函数指针区别
- matlab arma 仿真,基于Matlab的ARMA模型时间序列分析法仿真
- 什么是CMA?你对CMA证书了解多少?
- Windows 10, version 22H2 (released Oct 2022) 简体中文版、英文版下载
- redisRDB持久化中dir路径配置问题
- QT 析构的报错Cannot send events to objects owned by a different thread.
- 室友在宿舍玩游戏我学java_在宿舍写代码总被一个室友认为在装逼,该怎么办?...
- 局部加权回归LOESS
- 1688获得店铺的所有商品教程
- 燃气热水器出现e4故障是怎么回事?
- Notepad++更改背景颜色(护眼色)
- 6-27 实验9_7_设计函数int getVowel(char str[],char vowel[]); (100 分)
- 嵌入式软件工程师就业方向有哪些呢?
- 达观数据:文本大数据的机器学习自动分类方法
热门文章
- 基于springboot框架的校园跑腿快递管理系统的设计与实现.rar(论文+项目源码)
- 一个能看懂的Redis思维导图
- 计算机电缆编织密度标准,计算机电缆执行标准
- Android中的蓝牙知识
- java 访问linux 根目录_paip兼容windows与linux的java类根目录路径的方法 | 学步园
- Ubuntu apparmor何方神圣
- vue+element-ui之tree树形控件有关子节点和父节点之间的各种选中关系详解
- 软件测试基础-测试用例设计方法(等价类+边界值)
- 对 onreadystatechange 属性的理解
- 戴德金--连续性和无理数--我自己做的中文翻译第6页