もちろん、Visual Studio の AddResource ボタンを使用する以外で。
フォームと画像ファイルを一緒に送信します。コントローラー アクションでは、 を使用してHttpPostedFileBase
オブジェクトとそのファイル名を取得しますPath.GetFileName()
。関数を使用SaveAs()
してアプリケーションに画像ファイルを保存するだけでは、「ローカル リソースの読み込みが許可されていません」というエラーが表示されるため、後でテストのためにアクセスすることはできません。
そのため、画像を .resx ファイルに追加し、後でResourceManager
または何かを使用して取得したいと考えています。私の質問は、コントローラー アクションにある画像を .resx ファイルに追加するにはどうすればよいですか?
また、アプリケーションで画像ファイルを追加および取得する目的で、これが適切なアプローチであるかどうかも確認する必要があります。
EDITED: OK、.resx を使用して画像を保存することはお勧めできません。元の問題は、画像ファイルを保存できることでしたが、ビューに表示しようとすると、「ローカル リソースの読み込みが許可されていません」というエラーが表示されます。
コントローラーのコードは次のとおりです。
public ActionResult UrunEkle(Urun urun, HttpPostedFileBase image)
{
Directory.CreateDirectory(Server.MapPath("~/App_Data/Images"));
var path = Path.Combine(Server.MapPath("~/App_Data/Images"), fileName);
image.SaveAs(path);
urun.ArtUrl = path;
// other stuff....
}
そして、私の見解では、次のように画像を取得しようとしています:
<img alt="@urun.name" src="@Url.Content(urun.ArtUrl)" />
しかし、Google Chrome を使用すると、「ローカル リソースの読み込みが許可されていません」というメッセージが表示されます。どうすればこれを回避できますか?