2

ASP.net mvc アプリケーションに画像をアップロードする機能を追加しています。基本的に、ユーザーは画像を選択し、ソリューション フォルダー構造に作成した Images フォルダーにアップロードします。これはうまく機能し、画像は画像フォルダーにアップロードされます。

私が抱えている問題は、画像をブラウザに表示することです。私の質問は、画像ディレクトリ、つまりhttp://localHost:9823/Images/UploadedImageName.jpgがブラウザーに表示されるように、Asp.net 開発サーバー (localHost:blah blah) のディレクトリ参照プロパティを変更する方法です。

前もって感謝します

4

1 に答える 1

2

私が使用したいくつかのオプション。スタイルごとのメリット・デメリット!

イン・ザ・ビュー

このスタイルを使用するようにビューを構成できます。

 <img src="<%=ResolveUrl("~/Images/foo.png")" %> />

これは、いくつかの方法でリファクタリングできます。おそらく拡張メソッド、またはビューの背後にあるコード。

コントローラーメソッド + ルート

画像を提供する新しいコントローラーを作成します。デフォルトのルートがあることを確認してください。

 public class Images
 {
   public FileResult GetImage(string fileName) //foo.png
    {
        string fullPath = "~/Images/" +  fileName;
        return base.File(fullPath, "image/jpeg");
    }
 }

...
routes.MapRoute("UserImage",
                "Image/{filename}",
                new { controller = "Images", action = "GetImage", 
                      fileName=filename });
于 2010-09-19T22:10:43.860 に答える