2016-12-19 3 views
0

Я разрабатываю веб-сайт MVC, где обычный пользователь может загружать несколько изображений в базу данных, а затем имеет возможность извлекать их и отображать их.C# .NET Получение и отображение изображений из базы данных

До сих пор мне удалось отобразить изображение, но не несколько. в классе у меня есть:

string imagedata = Convert.ToBase64String(decryptedBytes); 
string imageDataURL = string.Format("data:image/jpeg;base64,{0}", imagedata); 
ViewBag.ImageData = imageDataURL; 
return View(); 

и с точки зрения у меня есть:

<img src="@ViewBag.ImageData" height="400" width="500" />. 

Должен ли я сделать тип Еогеасп в представлении или в самом пожалуйста методе?

ответ

0

Во-первых, вам следует избегать использования ViewBag и передавать объекты изображения с помощью @model.

Я хотел бы предложить сильно печатая свою коллекцию (например, IList<ImageData>, но для целей данного примера (Razor CSHTML):

@model IList<string> 

@foreach (var image in Model) 
{ 
    <img src="@image" ... /> 
} 

Я также собираюсь выйти из модели -> ViewModel преобразования и т.д. для простоты .

Чтобы получить модель от контроллера, передать его в View() (если у вас уже есть Imagelist населенного из базы данных):

IList imageList = GetListOfImages(user.Id) 
return View(imageList); 
+0

В настоящее время у меня нет списка изображений. Только db заселен. Итак, в основном я должен правильно хранить изображения из db в списке? –

+0

Yep - независимо от выбранного вами доступа к базе данных (я собираюсь принять Entity Framework), вам нужно будет вернуть список изображений из базы данных. Обычно вы делаете это с помощью 'context.Images.Where (someQuery) .ToList()' – G0dsquad

+0

У меня есть этот метод на уровне доступа к данным. Могу я использовать это вместо этого? общественный IQueryable GetImages() { return Entity.Images; } –

Смежные вопросы