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 Helper, по которому я скучаю?
Спасибо, что уделили время!
Решение
Вам нужно написать действие контроллера, которое запишет изображение в поток ответов и установить правильный тип контента, например, "image / png". Затем вы можете использовать тег img
для ссылки на это действие по вашему мнению:
public ActionResult Image()
{
byte[] image = GenerateImage();
return File(image, "image/png");
}
И внутри вашего взгляда:
<img src="<%= Url.Action("Image") %>" alt="" />
Другие советы
Вам понадобится HttpHandler, если вы хотите делать подобные вещи.