Как преобразовать массив байтов обратно в изображение, потребляемое представлением в ядре asp net? - PullRequest
0 голосов
/ 05 августа 2020

Я конвертирую загруженные изображения в байтовые массивы следующим образом:

private byte[] GetByteArrayFromImage(IFormFile file)
{
    using (var target = new MemoryStream())
    {
        file.CopyTo(target);
        return target.ToArray();
    }
}

При поиске решения для обратного преобразования в изображение, которое я могу показать на экране в asp. net основной вид, я нашел это:

MemoryStream ms = new MemoryStream(myByteArray);
Image image= Image.FromStream(ms);

Но это не работает. Единственная ссылка, которую я получаю для изображения, - это using static System.Net.Mime.MediaTypeNames;, и для этого нет метода FromStream.

Я думаю, что моя основная проблема здесь в том, что я на самом деле не знаю какого типа я нужно преобразовать массив байтов в, чтобы я мог отображать его на странице?!

редактировать мне просто нужно преобразовать его обратно в тип IFormFile?

1 Ответ

0 голосов
/ 05 августа 2020

Это было действительно просто. Я просто не знал, что искать. Скажем, у меня есть ImageDisplayModel с различными свойствами, одно из которых должно быть строкой ImageSource:

ImageDisplayModel.ImageSource = "data:image/gif;base64," + Convert.ToBase64String(myByteArray);

А затем в представлении:

<img src="Model.ImageSource" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...