Передать изображение с контроллера на просмотр - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь передать изображение с контроллера в вид:

Контроллер:

model.image = AspectRatio(String.Format("~" + i.ImageUrl));
return View(model);

Модель:

public Bitmap image { get; set; }

Вид:

@model OnlineStore.ViewModels.ItemVM
<div>
    @Model.image
<div>

Код не выдает ошибок, но вместо отображения изображения браузер отображает следующую строку текста:

System.Drawing.Bitmap

Может кто-нибудь, пожалуйста, руководство?

1 Ответ

0 голосов
/ 17 сентября 2018

Передача экземпляра Bitmap в просмотр бритвы, на котором не было изображения, потому что Протокол передачи гипертекста , если вы хотите показать изображения, вы можете использовать тег img.

Модель:

Вы можете попробовать использовать byte свойство массива imageBuffer для переноса данных изображения.

public byte[] imageBuffer { get; set; }

Контроллер:

использование ImageConverter let Bitmap данных изображения объекта для byte[]

ImageConverter converter = new ImageConverter();

Bitmap imageObj = AspectRatio(String.Format("~" + i.ImageUrl));

model.imageBuffer = (byte[])converter.ConvertTo(imageObj, typeof(byte[]));

return View(model);

Просмотр:

Convert.ToBase64String функция let byte[] в строку base64.и поддержка тегов img отображает изображение base64, просто установите атрибут src и объявите в нем data:image/png;base64.

из-за поддержки тега img base64 data

<img src="@String.Format("data:image/png;base64,{0}",Convert.ToBase64String(Model.imageBuffer))" />

Ссылка на ссылку

что это значит?изображение / PNG;? base64

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...