2015-03-03 89 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),然後更改代碼以選擇不同的圖像。