如何显示存储在BLOB字段中的图像? 详细�0�3

如题所述

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. CreateObj ect(″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可为什么有些时候图像不能正确显示, 而有些时候就能显示呢?这种情况我想可能会发生在直接用 MS Access 或 MS Visual FoxPro 作为图像数据输入工具时遇到。 其根本原因正如你在问题的开始说的, “从 SQL Server 的 BLOB 字段Photo 中取出. GIF 图像的二进制数据, 构造出一个 HTTP Header……”, 问题就在这里:在ASP 中, 认为从BLOB 字段中取出的图像数据是原始的. GIF 或. JPEG 格式的二进制数据流, 而浏览器也认做在 HTTP Header 之后所得到的数据是原始的. GIF 或. JPEG 格式的二进制数据流。 这时, 如果在BLOB 字段中再包含有其它的信息的话,那么这个图像就不能正确显示出来。 因为, 在作为图像数据输入工具时, 在存储图像数据的同时, 会在实际的图像数据之前加上 OLE 信息, 然后再一起存放到 BLOB 字段中。
温馨提示:答案为网友推荐,仅供参考
相似回答