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文档在用户端的浏览器中显示出来。


猜你喜欢
- 一、安装库首先我们需要安装PIL和pytesseract库。PIL:(Python Imaging Library)是Python平台上的图
- 本文针对ThinkPHP中pathinfo的两种模式、四种路径访问模式和URL重写相关知识进行了总结归纳,分享给大家便于查询和借鉴。具体归纳
- 大家都知道select的优先权比较高,CSS不宜控制,而且还能遮挡层的正常显示!那么我们就来模拟一个!这样样式就可以随心所欲了(若您看不到效
- 本文将介绍如何基于Python Django实现验证码登录功能。验证码登录是一种常见的身份验证方式,它可以有效防止恶意攻击和机器人登录。本文
- 网上广泛流传的取 object 的绝对位置的做法是:var getAbsPos = function(pTar
- 实例1:获取星期字符串程序读入一个表示星期几的数字(1~7),输出对应的星期字符串名称。例如,输入 3,返回“星期三&a
- 1.检查重复元素下面的方法可以检查给定列表中是否有重复的元素。它使用了 set() 属性,该属性将会从列表中删除重复的元素。def all_
- 本文实例讲述了Python3.5装饰器。分享给大家供大家参考,具体如下:#!/usr/bin/env python# -*- coding:
- 方法一:简单,得不到参数,只有一个虚拟路径 代码如下:GetUrl =request("url") 例如:http://
- 本文为大家分享了python爬取m3u8连接的视频方法,供大家参考,具体内容如下要求:输入m3u8所在url,且ts视频与其在同一路径下#!
- phpStorm2020 注册码下载地址:https://www.jetbrains.com/phpstorm/注册码如下:M05PN4I3
- 有时候有很多逗号,这样我们就不好处理了,下面的函数就是将多个逗号替换为一个逗号,方便后面的处理。<script language=&q
- 一、安装插件要生成html类型的报告,需要使用pytest-html插件,可以在IDE中安装,也可以在命令行中安装。插件安装的位置涉及到不同
- linecache, 可以用它方便地获取某一文件某一行的内容。而且它也被 traceback 模块用来获取相关源码信息来展示。用法很简单:&
- 一、开发时管理数据库遇到的问题:现在开发一般都是团队开发,这样就会出现项目同步的问题,代码同步可以通过SVN工具管理起来,那数据库同步怎么办
- 一、牛顿多项式拉格朗日多项式的公式不具备递推性,每个多项式需要单独构造。但很多时候我们需要从若干个逼近多项式选择一个。这个时候我们就需要一个
- ALTER DATABASE DATAFILEd:\ORANT\DATABASE\USER1ORCL.ORA RESIZE 10
- 1.global关键字默认情况下,在局部作用域对全局变量只能进行:读取,修改内部元素(可变类型),无法对全局变量进行重新赋值读取:CITY=
- 最近 PEP 570被接受了,其实要加的这个Positional-Only Parameters原来在内置的C函数上有很多都用到了:In :
- 本文实例讲述了Python松散正则表达式用法。分享给大家供大家参考,具体如下:Python 允许用户利用所谓的 松散正则表达式来完成这个任务