2011-01-12 111 views
6

我對GoDaddy的網站。所有權限都設置正確,圖像確實存在。但是,當頁面加載的圖像中選擇的項目不顯示。這裏是我的代碼圖像URL是正確的,但圖像不顯示

 imagepath = "~/spaimages/" + currentSpaModel.Name.ToString() + ".png"; 
     if (File.Exists(Server.MapPath(imagepath))) 
     { this.spaimage.ImageUrl = Server.MapPath(imagepath); } 

spaimage是一個ASP的控制和THR URL的圖像設置爲d:\主持\ XXXXXXX \ calspas \ spaimages \ modelname.png

我在做什麼錯。

回答

14

文件路徑D:\hosting\xxxxxxx\calspas\spaimages\modelname.png是圖像所在的Web服務器上的文件夾。您發送此爲<img>標籤的src屬性,它告訴瀏覽器,「快點D:\hosting\xxxxxxx\calspas\spaimages\modelname.png獲得圖像。」瀏覽器無法訪問Web服務器的D驅動器,因此它會在其自己的D驅動器上查找該文件夾和映像。

您的意思是讓<img>標記的src屬性成爲文件夾在網站上的路徑。你只是在那裏 - 分配圖像路徑ImageUrl屬性時剛落Server.MapPath部分。也就是說,代替:

this.spaimage.ImageUrl = Server.MapPath(imagepath); 

務必:

this.spaimage.ImageUrl = imagepath; 

看看是否能工程。

謝謝

+0

斯科特你真棒,謝謝你的完美工作 – mattgcon 2011-01-12 03:56:41

2

通常情況下,如果圖像「不顯示」(我假設正在顯示紅色的X相當於以示「破碎的形象」),我用鼠標右鍵單擊斷開的圖像,複製URL,並在打開的URL單獨的瀏覽器窗口。

這樣,當被一些腳本生成的圖像,我看到劇本可能已經顯示出任何錯誤文本。如果不是,則顯示真實圖像。

另外,else塊添加到

if (File.Exists(Server.MapPath(imagepath))) 

else 
{ 
    Response.Write(string.Format(
     "File does not exist at '{0}'.", 
     Server.MapPath(imagepath))); 
} 

出於調試目的。

+0

其實asp圖像控件顯示一個沒有紅色x的小盒子。當我右鍵點擊查看圖像屬性時,沒有任何內容,但是當我去查看源代碼時,URL存在。 – mattgcon 2011-01-12 03:51:33