2012-05-12 21 views
1

MVC3剃刀を勉強しようとしていますが、私のローカルマシンに保存されている画像を表示しようとすると、イメージは、イメージをレンダリングするブラウザではなく、イメージプレースホルダ(下のように)として表示されます。画像がブラウザでレンダリングされない - MVC3剃刀

placeholder image

私はちょうど運と、通常のHTMLのimgタグを使用してそれを簡素化しようとしました。しかし、Web上でホストされているイメージを指しているときは、すべて正常に動作します。赤いx(画像が見つからないときに表示される)の代わりにプレースホルダーが表示されるため、パスは正しいです。

<img id="img" src="file:///C:/WebSite/Images/img1.jpg" alt="" /> 

私が考えることのできる唯一のことは、正しく設定されていないアクセス許可または設定です。画像と画像そのものにつながるフォルダのアクセス権を設定しました。私のWeb.configはデフォルトであり、global.aspxに行った唯一の変更はルート登録です。

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

    routes.MapRoute(
       "Default", // Route name 
       "{controller}/{action}/{id}", // URL with parameters 
       new { controller = "Home", action = "Trending", id = UrlParameter.Optional } // Parameter defaults 
    ); 
} 

ヘルプ?

+0

絵があったではない場合は、する必要があり、画像ですデフォルトで表示されますか? – Mediator

+0

がプロジェクト内の画像フォルダを含むことがわかりました –

+0

@simplydenis - 実際の画像はブラウザに表示されません。代わりに、既定の画像プレースホルダが、私が投稿したリンクのように表示されます。パスを正しくないように変更すると、赤いXが表示され、画像が見つかったように見えます。何らかの理由で表示していないだけです。 – MikeL

答えて

2

あなたのImagesフォルダは、アプリケーションのルートにあり、それはようなものになるだろうと仮定すると、Url.Contentヘルパーを使用することができます。

<img id="img" src="@Url.Content("~/Images/img1.jpg")" alt="" /> 
+0

うん。同じ結果を実際に試してみました=/ – MikeL

+0

もう一度Url.Contentを使って試してみました。もともと私はそれを試していたとき、私はApp_Dataフォルダ内にあったフォルダ内の画像を持っていた。パスが正しいにもかかわらず、画像へのアクセスがブロックされているようです。ありがとう。 – MikeL

+0

@Domこれはどういう仕組みですか?私は私のローカルドライブC:のUploaderHoldingsというフォルダに自分のイメージを持っていますが、私はあなたのソリューションを使ってもimgを表示しませんでした。 –

関連する問題