2014-03-28 54 views
0

如何將當前項目的外部圖像鏈接到ASP.NET頁面中的ASP.NET MVC 4項目?如何將當前項目的外部圖像鏈接到視圖中?

<img src="../../imgs/a.png" alt="404!"/> 

例如,在這裏我想顯示a.png這是擺在當前項目的第二父文件夾下。但是,這樣做,我得到一個空白/損壞的圖像。

如何來顯示照片,好嗎?

回答

0

圖片網址是由瀏覽器解決。

如果URL以..啓動時,它將會相對於被加載到頁面。 如果URL是相對於應用程序根目錄的,它將以/開頭。

如果頁面位置,例如,是http://localhost:666/那麼瀏覽器將無法解析url ../imgs/a.png

因此,你有2種選擇:

選項1:以目前未存儲在應用程序文件夾中的圖片,你需要創建一個控制器/動作,將讀取的圖像文件系統並將其發送給瀏覽器。

事情是這樣的:

public ActionResult MyImage() 
{ 
    var filePath = "C:\\imgs\\a.png"; 

    if (File.Exists(filePath)) 
    { 
     var fileContent = File.ReadAllBytes(filePath); 

     return File(fileContent, "image/*"); 
    } 
} 

然後在頁面上:<img src="@Url.Action("MyImage","MyController")" alt="404!" />

選項2:創建您的IIS應用程序中的 「虛擬目錄」。請參閱說明here

+0

我已經寫了'/項目名/../../ IMGS/a.png'但是這仍然是相同的,我也嘗試'/../ ../ IMGS/a.png'。但是,沒有任何結果。 – user3472134

+0

@ user3472134 - IIS將無法解析所請求的URL。我爲我的答案添加了幾個可能的解決方案。 –

+0

當然,如果您可以選擇將'imgs'文件夾移動到MVC應用程序中,它將是最簡單的解決方案。 –

0

您可以使用Url.Content

<img alt="" src="@Url.Content("~/imgs/a.png")" /> 
相關問題