我正在使用此示例以blob格式显示存储在启用File-Stream的数据库中的图像。
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数据放入“”标签中。这可能吗?也许我应该使用某种类型的转换?我已经考虑过这个,并放弃了。我只是尝试在“”标签中显示图像,但也没有成功。
请给我一些建议,告诉我在这种情况下应该如何处理。
提前谢谢。
答案 0 :(得分:2)
通常它的工作方式如下:
这是页面<img src="imageServer.asp?ID=1234">
服务器应答ONE请求,设置MIME标头并流式传输此特定图像的图像数据。您没有输出HTML,html已经在页面中。您需要告诉img标记获取其数据的位置。