Image T-SQL使用经典ASP.NET显示BLOB图像

Image T-SQL使用经典ASP.NET显示BLOB图像,image,asp-classic,filestream,blobstore,Image,Asp Classic,Filestream,Blobstore,我使用这个示例来显示图像,这些图像以blob格式存储在启用文件流的数据库中 这是完美的工作方式,但我在经典asp中的表现非常糟糕,并且在尝试将此图像与HTML元素混合显示时遇到问题 通过测试和尝试,我得出结论,这是因为Response.ContentType 在上面的示例中,要显示图像,他们使用的是图像的内容类型。完美的我的数据库里也有这个。但是当我从那里读取并在asp文件中更改它时,asp文件中的整个HTML都不会显示 为了显示混合了HTML标记的图像,我应该做什么。这是我糟糕的asp代码的

我使用这个示例来显示图像,这些图像以blob格式存储在启用文件流的数据库中

这是完美的工作方式,但我在经典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      
SQL=“从信息表中选择记录ID”
Set Recordset=Server.CreateObject(“ADODB.Recordset”)
记录集。打开SQL,AdapterDataBaseActiveConnection
如果是Recordset.EOF,则
Response.Write(“没有返回记录”)
其他的
不要记录集。Eof
Set CurrentNumber=记录集(“记录ID”)
'Response.write CurrentNumber
“Response.write”
“ 设置rs=AdapterDataBaseActiveConnection.Execute(“从信息表中选择ContentType,其中RecordID=“&CurrentNumber”) 设置CurrentContentType=rs(“ContentType”) 'Response.write CurrentContentType Response.Expires=0 Response.Buffer=TRUE 回答,清楚 Response.ContentType=CurrentContentType 设置rsa=AdapterDataBaseActiveConnection.Execute(“从ImageTable中选择RecordBLOB,其中RecordID=“&CurrentNumber”) “Response.write” Response.BinaryWrite rsa(“RecordBLOB”) “Response.write” Recordset.MoveNext 环 如果结束
我的最终目标是将blob数据放入“”标记中。这可能吗?也许我应该使用某种类型的转换?我想了想,就放弃了。我刚刚尝试在“”标记中显示图像,但也没有成功

请给我一些建议,在这种情况下我应该如何处理


提前感谢。

通常是这样工作的:

这是页面中的图像

服务器响应一个请求,设置MIME头并流式传输此特定图像的图像数据。您没有输出HTML,HTML已经在页面中。您需要告诉img标签从哪里获取数据


请参阅:

+9000以提醒我1995年的记忆:)。即使在“现代”技术中,您要做的就是向另一个页面提供一个“src”,将数据直接复制到输出。你不能“内联”完成它——它必须通过另一个请求。谢谢你提醒我我有多大了PIf如果您真的希望以内联方式进行,您可以在以下位置适当地使用信息: