ASP.Net MVCビューでモデルの画像プロパティを表示する方法は?
-
05-07-2019 - |
質問
asp.net mvcは初めてですが、GDI +で面白いアプリを実行しようとしているため、asp.net mvcで画像表示を行う必要があります。
画像プロパティを持つモデルがあります:
namespace DomainModel.Entities
{
public class BackgroundImage
{
// Properties
public Image Image {get; private set; }
public BackgroundImage()
{
Image = Image.FromFile(@"D:\ProjectZero\DomainModel\image\bkg.PNG");
}
}
}
コントローラーは、ビューに次を送信します。
public ActionResult Index()
{
BackgroundImage bkImg = new BackgroundImage();
return View(bkImg);
}
ビューは次のようになります。
<p> Height: </p><%= Model.Image.Height //it prints the height of the image %> </br>
<p> Width: </p><%= Model.Image.Width //it prints the width %> </br>
<p> Image: </p><%= Model.Image //does not work to display the image %>
その画像プロパティを表示するにはどうすればよいですか
divの背景画像が必要です。画像のサイズを変更する必要はありません。通常のサイズで表示するだけです。
見逃したHtmlヘルパーはありますか?
お時間をいただきありがとうございます!
解決
応答ストリームに画像を書き込むコントローラーアクションを作成し、「image / png」と言う適切なコンテンツタイプを設定する必要があります。次に、 img
タグを使用して、ビューでこのアクションを参照できます。
public ActionResult Image()
{
byte[] image = GenerateImage();
return File(image, "image/png");
}
そしてビュー内:
<img src="<%= Url.Action("Image") %>" alt="" />
他のヒント
このようなことをしたい場合は、HttpHandlerが必要です。
所属していません StackOverflow