Asp classic 如何从ADODB.stream对象在网页上显示图像

Asp classic 如何从ADODB.stream对象在网页上显示图像,asp-classic,Asp Classic,我有一个经典的ASP问题。 我需要在我的网页上显示图像。 但由于安全原因,我不能简单地将所有图像放在我网站文件夹的图像文件夹中,我需要将它们放在我网站文件夹之外。 例如,“我的网站”文件夹位于: C:\Inetpub\wwwroot\mysite\ 但我需要将图像(我想在我的网页上显示)放在: C:\images\ 我正在尝试使用ADODB.stream对象来使用ASP vb代码拉取图像,如下所示: <% Response.ContentType = "image/png" Set ado

我有一个经典的ASP问题。 我需要在我的网页上显示图像。 但由于安全原因,我不能简单地将所有图像放在我网站文件夹的图像文件夹中,我需要将它们放在我网站文件夹之外。 例如,“我的网站”文件夹位于: C:\Inetpub\wwwroot\mysite\ 但我需要将图像(我想在我的网页上显示)放在: C:\images\

我正在尝试使用ADODB.stream对象来使用ASP vb代码拉取图像,如下所示:

<%
Response.ContentType = "image/png"
Set adoStream = Server.CreateObject("ADODB.Stream") 
adoStream.Open
adoStream.Type = 1
FPath = "C:\images\1.png"
adoStream.LoadFromFile FPath

Response.BinaryWrite adoStream.Read 

adoStream.Close
Set adoStream = Nothing 
Response.End
%> 

当我在internet explorer中启动此网页时,该页面会显示一个文件下载窗口/消息,用于下载图像文件“1.png”,而不是在网页上显示图像。
如何修复代码以在网页上显示图像,而不是下载图像文件?

该代码生成一个图像作为返回类型,因此没有HTML来显示图像,如果直接调用此代码称为
image.asp
,则您可以在另一个显示HTML的页面中执行类似操作


这将调用您的代码并输出原始图像二进制文件,因为这是
所期望的

如果要从文件系统或数据库生成多个图像,请传递querystring参数,例如
?id=yourimage
,然后更改代码以选择不同的图像