如何將當前項目的外部圖像鏈接到ASP.NET頁面中的ASP.NET MVC 4項目?如何將當前項目的外部圖像鏈接到視圖中?
<img src="../../imgs/a.png" alt="404!"/>
例如,在這裏我想顯示a.png
這是擺在當前項目的第二父文件夾下。但是,這樣做,我得到一個空白/損壞的圖像。
如何來顯示照片,好嗎?
如何將當前項目的外部圖像鏈接到ASP.NET頁面中的ASP.NET MVC 4項目?如何將當前項目的外部圖像鏈接到視圖中?
<img src="../../imgs/a.png" alt="404!"/>
例如,在這裏我想顯示a.png
這是擺在當前項目的第二父文件夾下。但是,這樣做,我得到一個空白/損壞的圖像。
如何來顯示照片,好嗎?
圖片網址是由瀏覽器解決。
如果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。
您可以使用Url.Content
<img alt="" src="@Url.Content("~/imgs/a.png")" />
我已經寫了'/項目名/../../ IMGS/a.png'但是這仍然是相同的,我也嘗試'/../ ../ IMGS/a.png'。但是,沒有任何結果。 – user3472134
@ user3472134 - IIS將無法解析所請求的URL。我爲我的答案添加了幾個可能的解決方案。 –
當然,如果您可以選擇將'imgs'文件夾移動到MVC應用程序中,它將是最簡單的解決方案。 –