C#.NET从数据库中获取和显示图像

时间:2016-12-19 17:02:56

标签: c# .net database

我正在开发一个MVC网站,普通用户可以将多个图像上传到数据库中,然后就可以获取并显示它们。

到目前为止,我设法显示图像但不是多个。在课堂上我有:

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" />.

我应该在视图或方法本身中制作一种foreach吗?

1 个答案:

答案 0 :(得分:0)

首先,您应该避免使用ViewBag,并使用@model传递图像对象。

我建议您强烈输入您的收藏集(例如IList<ImageData>,但就示例而言(Razor CSHTML):

@model IList<string>

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

我也会遗漏模型 - &gt;为简单起见,ViewModel转换等。

要从控制器获取模型,请将其传递给View()(假设您已经从数据库填充了imageList):

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