在ASP.NET Person Web Site Starter Kits中,图片的是以二进制的形式存放在数据库里,微软提供的读取该图片的方式是通过handler.ashx来实现的.

1 handler.ashx
   首先你所看到的对图片的引用都是类似如下
<img src="Handler.ashx?AlbumID=<%# Eval("AlbumID") %>
的形式,也就是你所看到的每一个图片都由Handler.ashx动态生成,所以在你保存你所看到的"图片"时,它的命名都是Handler.ashx.
   使用handler.ashx而不是handler.aspx来引用图片并不是一定的,换句话说,你可以将该文件改为handler.aspx并没有本质的区别,不过根据微软的文档,使用*.ashx作为扩展名的文档比*.aspx的文档性能高,因为它减少了控件树的生成.

下面是handler.ashx的改动的代码,你可以直接拿过来用在自己的项目里,也就是如果你已经将图片保存以image类型保存在数据库里就可以用如下代码读取

using System;
using System.IO;
using System.Web;

public class Handler : IHttpHandler {

public void ProcessRequest (HttpContext context) {
  // Set up the response settings
  context.Response.ContentType = "image/jpeg";
  context.Response.Cache.SetCacheability(HttpCacheability.Public);
  context.Response.BufferOutput = false;
 
  Stream stream = null;
    const int buffersize = 1024 * 16;
  byte[] buffer = new byte[buffersize];
  int count = stream.Read(buffer, 0, buffersize);
  while (count > 0) {
   context.Response.OutputStream.Write(buffer, 0, count);
   count = stream.Read(buffer, 0, buffersize);
  }
 }

}
上面代码中,读取的核心代码以蓝色显示,这里大buffersize限制为1024*16,当然这不是必须的,一种更为常用的方法是动态读取文件大小,然后再设置buffersize的值

转载于:https://www.cnblogs.com/mqingqing123/archive/2006/03/31/363718.html

ASP.NET2.0 Person Web Site:将图片以二进制的从数据库读取相关推荐

  1. ASP.NET2.0文件上传以及图片处理总结篇 [转]

    1.最简单的单文件上传(没花头) 2.多文件上传 3.客户端检查上传文件类型(以上传图片为例) 4.服务器端检查上传文件类型(以上传图片为例) 5.服务器端检查上传文件类型(可以检测真正文件名) 6. ...

  2. 探讨ASP.NET2.0的Web控件改进之概述

    作者: 朱先忠编译 一. 引言 到目前为止,你可能已经了解了大量的ASP.NET 2.0新特征-母版页面,主题,提供者,等等--所有这样内容都相当精彩:但是,你是否了解到有关定制Web控件开发方面的重 ...

  3. ASP.NET 2.0 Club Web Site Starter Kit 补丁

    ASP.NET2.0  Club Web Site Starter Kit 具有一个很大的缺陷:不支持中文. 这里给出两种解决方案供大家参考 方法一: 1)由于大家大部分都是用SQL SERVER20 ...

  4. ASP.NET2.0图片格式转换【月儿原创】

    ASP.NET2.0图片格式转换 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.4.20 说明:本文实现了 图片格式随意转换( ...

  5. ASP.NET2.0打通文件图片处理任督二脉【月儿原创】

    ASP.NET2.0打通文件图片处理任督二脉 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.4.1 1.最简单的单文件上传(没 ...

  6. DotNetTextBox V2.0 Web Control(ASP.NET2.0 增强型TextBox控件,完全支持AJAX.NET)

    [控件界面] [控件介绍] 名称:DotNetTextBox V2.0 Web Control 免费无限制版 类型:ASP.NET2.0 增强型TextBox控件 作者: 小宝.NET2.0 主页:h ...

  7. ASP.NET2.0打通文件图片处理任督二脉[转载]

    ASP.NET2.0打通文件图片处理任督二脉 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.4.1 1.最简单的单文件上传(没 ...

  8. VS2005 ASP.NET2.0安装项目的制作(包括数据库创建、站点创建、IIS属性修改、Web.Config文件修改)

    站点: 如果新建默认的Web安装项目,那它将创建的默认网站下的一个虚拟应用程序目录而不是一个新的站点.故我们只有创建新的安装项目,而不是Web安装项目.然后通过安装类进行自定义操作,创建新站如下图: ...

  9. ASP.NET2.0里的web.config配置接口API(转)

    ASP.NET2.0里的配置接口API ASP.NET2.0里的配置API接口函数允许我们读/写配置文件----包括对web.config和machine.config的读写.您可以读写您自己应用程序 ...

  10. asp.net2.0导出pdf文件完美解决方案【月儿原创】

    asp.net2.0导出pdf文件完美解决方案 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.5.28 PDF简介:PDF(P ...

最新文章

  1. 关于刘冬大侠Spring.NET系列学习笔记3的一点勘正
  2. RDKit:化学指纹(Chemical Fingerprinting)
  3. 解决启动hadoop时datanode无法启动
  4. ANSI编码和标准代码页(code page)
  5. Leetcode 148. 排序链表 解题思路及C++实现
  6. shiro+jwt进行认证和授权的解决方案代码实例
  7. junit4 单元测试框架_超越JUnit –测试框架的替代方案
  8. 一文教你用java实现出租车计价器设计(附下载源码)
  9. 20190509杂题选讲
  10. 面试题之求二叉树的深度
  11. python pip 快速安装第三方库和下载好whl文件
  12. Nice Garland
  13. 弱口令介绍及破解方式
  14. 怎样使用Markdown输入数学公式
  15. 初体验 | 购买激活Typora软件
  16. Python 谷歌翻译_浏览器版本 selenium (2022年1月测试可用)
  17. ML-降维:PCA、SVD、LDA、MDS、LLE、LE算法总结
  18. 【Java】Unicode转中文代码实现
  19. 观世界赛事,品足球人生--2022世界杯
  20. 线性代数的本质--对线性空间、向量和矩阵的直觉描述

热门文章

  1. 斜杠的意思是或还是和_pua是什么意思?我pua pua的解释给我老婆听!
  2. python登录网页并操作_python 实现登录网页的操作方法
  3. superoneclick 2.2_总投资2.2亿!又一年产10万吨水性乳液项目开工
  4. MyBatis的XML配置文件(二)
  5. 【渝粤教育】广东开放大学 财会法规和职业道德 形成性考核 (26)
  6. 谷歌大脑阿尔伯塔联合发表:离线强化学习的优化视角【附代码】
  7. ubuntu16.04中将自己的ubuntu做成镜像
  8. PARDISO 5.0.0 Solver Project
  9. 【机器学习算法应用和学习_1】1.1 机器学习框架
  10. 【纪中集训2019.3.25】礼物