2017-02-25 21 views
0

私はasp.net MVCを初めて使用しています。私は要素を検査ブラウザで 画像URLは正常ですが画像タグは画像を表示していません。 MVC

このような
<img src="@Model.Image2Url" alt="No Image"/> 

を表示するためにそれを追加してい

@Model.Image2Url = "C:\Users\vasamad\Documents\VisualStudio2015\Projects\ReactMVC\ReactMVC\Content\Images\Products\3.jpg" 

私はこのURLをコピーするとき 「画像をロードできませんでした」:私は次のように、データベース内のイメージソースを持っています新しいタブで過去の画像を表示することができます。

+0

は*私のイメージタグが罰金..ですこれは単にエラーを入力しています。 –

答えて

1

あなたのMVCアプリケーションのルートに相対イメージパスを保存する必要があります。

~/Content/Images/Products/3.jpg 

あなたがして、完全なイメージのパスをしたい場合は、絶対パスとストリームからこの画像を読み込みますコントローラのアクションを記述する必要がありますそれは応答に。最後に、<img>タグはこの新しいコントローラアクションを指す必要があります。ここでは例です:

あなたの視点で
public ActionResult MyImage() 
{ 
    // Get this from your database 
    string absoluteImagePath = "C:\\Users\\vasamad\\Documents\\VisualStudio2015\\Projects\\ReactMVC\\ReactMVC\\Content\\Images\\Products\\3.jpg"; 
    return File(absoluteImagePath, "image/jpeg"); 
} 

し、このアクションにイメージタグ:

<img src="@Url.Action("MyImage", "MyController")" alt="" /> 
+0

どうすれば相対的な画像のパスを保存できますか? var ImagePath = Path.Combine(Server.MapPath( "〜/ Content/Images/Products /")+ img.FileName); ????? –

関連する問題