イメージハンドラとしてコントローラを使用しようとしていますが、そのパスをどのように渡しますか?Mvc 3 - イメージハンドラとしてのコントローラ、パスを渡す方法は?
今のところは、この(パスなしの画像のために働く)のようになります。
public void GetImage(string parameter)
{
var imageHandler = UnityGlobalContainer.Container.Resolve<IImageHandler>();
imageHandler.ProcessRequest(parameter);
}
しかし、私はのfolder1 \フォルダ2 \ FOLDER3 \ picture.jpgパスに送信しようとした場合、それは失敗します。 http://localhost:58359/Utility/GetImage/folder1%5Cfolder2%5Cfolder3%5Cpicture.jpg
、それはにつながる::
@Html.ActionLink("Show", "GetImage", "Utility", new { parameter = @"folder1\folder2\folder3\picture.jpg" }, new { })
はこれを生産する HTTPエラー400 - 不正な要求。
通常のmvcアプローチを使用してコントローラへのパスをどのように渡すことができますか? (私はバックスラッシュを使用していますが、スラッシュは使用しません) また、パラメータでHttpUtility.UrlEncodeを使用してテストしました。
これはmvcの経路指定とは関係がありませんか? – Patrick
申し訳ありませんがmvcのパスを意味するものを取得しないでください。ビューで生成されたURLをレンダリングされたページのhtmlソース(ビューのhtmlソース)と変数 "parameter"の値をコントローラメソッドに追加できますか(そこにブレークポイントを設定するだけです)?また、GetImageアクションのための特別なルートがありますか? – nakhli