2011-12-24 60 views
1

我想從我的網站內的虛擬目錄顯示圖像。如果我使用follwoing代碼顯示在圖像頁面上:從虛擬目錄訪問映像文件

Dim sourcefile As String = Server.MapPath("~/Common/Images/Flag.jpg") 
Response.WriteFile(sourcefile) 
Response.ContentType = "image/jpg" 

但如果我嘗試在Image控件中顯示圖像期運用下面的代碼是不顯示圖像:

Dim sourcefile As String = Server.MapPath("~/Common/Images/Flag.jpg") 
Image1.ImageUrl = sourcefile 

下面是HTML/ASP代碼:

<div id="contentQE"> 
     <fieldset> 
      <span class="graytitle">The Flag Image 
       <asp:Image ID="Image1" runat="server" /> 
      </span> 
     </fieldset> 
    </div> 

我在做什麼錯?

回答

1

Server.MapPath將獲得文件的物理路徑,這將不會幫助用戶從瀏覽器訪問網站。

我們通常做的事:

Dim sourcefile As String = Request.ApplicationPath & "/Common/Images/Flag.jpg" 
+0

謝謝,但圖像仍然沒有顯示 – 2011-12-24 02:02:02

+0

幾個問題:1)是否該文件已經存在? 2)當您查看頁面的來源時,圖像路徑看起來是否正確? – 2011-12-24 02:04:23

+0

問題1 - 是的,它與我的第一個示例使用的文件相同。問題2 - 是的。 – 2011-12-24 02:09:21

1

從Image控件使用綁定方法,我還沒有測試過,但我覺得它的工作原理。

昏暗的資源文件作爲字符串=使用Server.Mappath( 「〜/普通/圖像/ Flag.jpg」)

Image1.ImageUrl =的資源文件

Image1.Bind()

+0

感謝但顯然Bind方法不是Image對象的一部分。 – 2011-12-24 02:15:40

+0

我嘗試使用Image1.DataBind()但相同的結果沒有圖像。 – 2011-12-24 02:21:10

+2

對不起,我的意思是DataBind()方法。 – 2011-12-24 02:28:56