nyt72 Ответов: 1

MVC5 хранить двоичные данные изображения в сессии переменную восстановить


Привет,

Я уже сохранил изображение в базе данных, используя приведенный ниже код
user.UserImage = new Byte[image1.ContentLength];
                   image1.InputStream.Read(user.UserImage, 0, image1.ContentLength);


Теперь я хочу сохранить это в сеансе и получить на странице панели мониторинга.

Но изображение не показывается. пожалуйста, помогите.

Что я уже пробовал:

в контроллерах:
string imageDataURL = string.Format("data:image/png;base64,{0}", dataitem.UserImage);
               Session["UserImage"] =  imageDataURL;

в виду:

var img =  (Session["UserImage"]);
                                  
  string imageSrc = string.Format("data:image/gif;base64,{0}", img);
  <img src="@imageSrc" width = "60" height = "60" class="img-profile rounded-circle"/>

1 Ответов

Рейтинг:
5

F-ES Sitecore

Данные, которые вы храните в сеансе, уже имеют префикс data:image/gif, однако вы снова добавляете его в свой вид, поэтому просто пропустите этот шаг

@{
    var img = (Session["UserImage"]);
}
<img src="@img" width="60" height="60" class="img-profile rounded-circle" />


Кроме того, вы, похоже, не преобразуете массив байтов в base64, если dataitem.UserImage - это байтовый массив, а затем используйте

string imageDataURL = string.Format("data:image/png;base64,{0}", System.Convert.ToBase64String(dataitem.UserImage));


[no name]

Большое спасибо F-ES Sitecore