asp如何显示存储在数据库BLOB字段中的图像?
发布时间:2010-06-08 09:31:00
如何显示存储在BLOB字段中的图像?
showimges.asp
' 在浏览器上单独显示图像
<%@ LANGUAGE=″VBSCRIPT″ %>
<%
Response.Expires = 0
Response.Buffer = TRUE
Response.Clear
' 清除已经存在的HTTP header信息
Response.ContentType = "image/gif"
' 将HTTP header置为image/gif,表示传送的将是图像信息
Set cn = Server.CreateObject(″ADODB.Connection″)
' 根据指定的数据源名(myDSN)将数据取出
cn.Open "DSN=myDSN;UID=sa;PWD=;DATABASE=pubs"
Set rs = cn.Execute("SELECT photo FROM people WHERE id='3302'″)
Response.BinaryWrite rs("photo")
Response.End
%>
我将上面的代码加入到IMAGE标记中,以实现将图像从SQL Server取出并插入到合适的HTML或ASP页面中:
showimges.htm
<HTML>
<HEAD>
<TITLE>asp教程之图像显示 - aspxhome.com</TITLE>
</HEAD>
<BODY>
<IMG SRC="showimges.asp">
</BODY>
</HTML>
可为什么有些时候图像不能正确显示,而有些时候就能显示呢?
这种情况我想可能会发生在直接用MS Access 或 MS Visual FoxPro作为图像数据输入工具时遇到。其根本原因正如你在问题的开始说的,“从SQL Server的BLOB字段Photo中取出.GIF图像的二进制数据,构造出一个HTTP Header……”,问题就在这里:
在ASP中,认为从BLOB字段中取出的图像数据是原始的.GIF或.JPEG格式的二进制数据流,而浏览器也认做在HTTP Header之后所得到的数据是原始的.GIF或.JPEG格式的二进制数据流。这时,如果在BLOB字段中再包含有其它的信息的话,那么这个图像就不能正确显示出来。因为,在作为图像数据输入工具时,在存储图像数据的同时,会在实际的图像数据之前加上OLE信息,然后再一起存放到BLOB字段中。
当然,我们用这个显示图像的办法,也可以举一反三,处理存放在 BLOB字段中其它的二进制数据,如:只要将Response.ContentType设置为“application/msword”,告诉浏览器数据的类型,就可以将存放在BLOB字段中的Word文档在用户端的浏览器中显示出来。
猜你喜欢
- 今天有个学生问我:页面中使用GIF格式,失真太大,怎么办呢?这个问题比较简单啊,只要用JPG就可以了。我们常用的页面的图片格式有三种,GIF
- 经常会看到这种弹出层背景变暗的效果,感觉手痒于是自己写了一个基于jquery的弹出层类。我习惯先写好结构和样式,然后再写js交互效果。结构定
- 您可以将SQL Server 数据库引擎升级到 SQL Server 2008。SQL Server 安装程序只需最少的用户干预就可升级 S
- 我们可用下面的代码将服务器端变量转换为客户端的JavaScrit变量:<%@ Language=VBScript
- 一、利用ASP和ADO实现数据库操作的工作流程ASP内嵌了五个对象Resquest、Response、Server、Seesion、Appl
- 刚才要说的是这几天亲身体验了一下ebay的AIR感觉挺不错的,无论从界面,交互,功能上都感觉挺好的。关于topic中的“剑走偏锋”是因为我认
- 如何用ASP发送带附件的邮件?请问如何用CDONTS组件发送带附件的邮件? 见下列代码:<%&nb
- 1.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;2.会用asp,并不说明你会asp;3.看a
- 从MySQL 5.0.2开始,通过mysql_stmt_attr_set() C API函数实现了服务器端光标。服务器端光标允许在服务器端生
- 用户登录验证脚本,Chkpwd.asp<% '=======用户登录验证脚本======= '如果尚未定义Passed
- 在asp中利用excel的一个方法是将excel文件作为一个数据库进行链接,然后的操作和对access数据库操作类似。但是这个方法不是总能有
- “你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起
- dssaa 问:求一个如奥运倒计时牌那样显示的倒计时程序突然想到这样的一个小程序,不知道能不能做,比如我要在我的主页上挂一个页面,上面只显示
- 突然想到写这个话题,是基于最近在设计产品界面时,年糕一直在给我们灌输设计的品牌概念以及文化内涵要求而产生的,因之前在界面设计中也遇到一些困惑
- 表格(Table)可读性提升的系统总结,包括“行列组织关系模糊、单元格内容不清晰”两大方面...前边写了个大框架,好像有点笼统,因为没有各点
- 原文:Five quick JavaScript tips真是五个很quick的小提示:1.只在<form>元素上使用submi
- 在这个擦亮自己的眼睛去看SQL Server的系列中的第二篇中提过要写历史渊源,这里的历史主要描述的是数据库本身的历史与SQL Server
- 比如 <div><img .../></div>想通过对这个div设置透明度来达到调整图片的透明度如果不
- /usr/sbin/groupadd mysql/usr/sbin/useradd -g mysql mysqlunzip mysql-5.
- 如何制作K线图?也不难,代码和说明见下:<%@ Language=VBScript %><%Respo