web-dev-qa-db-ja.com

MVCビューでの画像表示

Cshtmlファイルに画像を表示しようとしています。スパムフィルターにより、画像のHTMLを入力できなくなります。ただし、ソースは

src= "@Html.Encode(Model.PictureLocation)"  alt="IMAGES"

ビューソースでは次のように表示されます

src= "C:\Documents and Settings\xxx\My Documents\Visual Studio 2010\Projects\MVC\TIQC_ServerInterface\TIQC_ServerInterface\uploads\FileUpload12011_03_02_11_49_22.jpg"  alt="IMAGES"

画像は、srcパスで指定された場所に存在します。

実行時に、ページに画像が表示されていません。ここで何か問題があれば教えてください。

32

クライアントコンピューターに存在しない絶対パスを指定しました。このようにしてみてください:

<img src= "@Url.Content("~/uploads/FileUpload12011_03_02_11_49_22.jpg")" alt="IMAGES" />

または、モデル変数に「〜/ uploads/FileUpload12011_03_02_11_49_22.jpg」が含まれている場合:

<img src= "@Url.Content(Model.PictureLocation)" alt="IMAGES" />
65
Darin Dimitrov

src属性のパスは、サーバー上の絶対パスではなく、Webサイトのルートに対する相対パスでなければなりません。あなたの場合、それはおそらく「/uploads/FileUpload12011_03_02_11_49_22.jpg」のようなものになるでしょう...

2
davehauser