使用经典ASP的T-SQL显示BLOB图像
问题描述:
我正在使用此示例以blob格式显示存储在启用了文件流的数据库中的图像。使用经典ASP的T-SQL显示BLOB图像
http://support.microsoft.com/kb/173308
这是工作完美,但我是在传统的ASP很糟糕,有问题时,试图显示此图像与HTML元素混合。
从我的测试和尝试,我得出结论,这是因为Response.ContentType。
在上面的示例中,要显示他们正在使用图像的内容类型的图像。完善。我也有这个在我的数据库中。但是,当我从那里读取它并在asp文件中更改它时,asp文件中的整个HTML都不会显示。
我应该怎么做才能显示混合了HTML标签的图像。这是我可怜的asp代码的一部分,它将只显示数据库中的一张图片,而不会显示其他HTML。
SQL = "SELECT RecordID FROM InfoTable"
Set Recordset = Server.CreateObject("ADODB.Recordset")
Recordset.Open SQL,AdapterDataBaseActiveConnection
If Recordset.EOF Then
Response.Write("No records returned.")
Else
Do While NOT Recordset.Eof
Set CurrentNumber=Recordset("RecordID")
'Response.write CurrentNumber
'Response.write "<br>"
Set rs = AdapterDataBaseActiveConnection.Execute("SELECT ContentType FROM InfoTable WHERE RecordID="&CurrentNumber)
Set CurrentContentType=rs("ContentType")
'Response.write CurrentContentType
Response.Expires = 0
Response.Buffer = TRUE
Response.Clear
Response.ContentType = CurrentContentType
Set rsa = AdapterDataBaseActiveConnection.Execute("SELECT RecordBLOB FROM ImageTable WHERE RecordID="&CurrentNumber)
'Response.write "<div>"
Response.BinaryWrite rsa("RecordBLOB")
'Response.write "</div>"
Recordset.MoveNext
Loop
End If
我最终的目标是将blob数据放入“”标签。这可能吗?也许我应该使用某种类型的转换?我已经考虑过了,放弃了。我只是尝试在“”标签中显示图像,但没有成功。
请给我一些建议,关于在这种情况下应该如何处理。
预先感谢您。
答
通常是这样工作的:
这是在页面<img src="imageServer.asp?ID=1234">
服务器回答一个请求的图像,设置MIME头和这个特定的图像流的图像数据。你不输出HTML,HTML已经在页面中。你需要告诉img标签从哪里获取数据。
+9000提醒我1995年:)。即使在“现代”技术中,你所做的也是提供一个'src'到另一个页面,将数据直接复制到输出。你不能'内联' - 它必须通过另一个请求来完成。 – 2012-02-08 22:19:24
谢谢你提醒我我多大了。 :P – 2012-02-08 22:21:26
如果您真的想要这样做,您可以在http://www.webmasterworld.com/forum83/7473.htm中找到相关信息。 – 2012-02-08 22:25:06