2015-03-03 48 views
1

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

我试图使用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.p​​ng”而不是在网页上显示图像。 如何修复代码以在网页上显示图像而不是下载图像文件?

回答

1

该代码生成一个图像作为返回类型,所以没有HTML来显示图像,如果你直接调用这个代码,说它叫做image.asp,那么你会在另一个显示HTML的页面中做这样的事情。

<img src="image.asp" /> 

这将调用您的代码和输出的原始图像二值,因为这是<img>期待。

如果要从文件系统或数据库中生成多个图像,请传递查询字符串参数(如?id=yourimage),然后更改代码以选择不同的图像。