Asp.net mvc 3 从Asp.net-mvc3中的数据库在表中显示图像
我有一个包含用户信息和图像字段的表,并将图像存储在二进制数据中 我想在我的视图页面上的一个包含用户信息的表格中显示此图像 我的代码是。。 控制器Asp.net mvc 3 从Asp.net-mvc3中的数据库在表中显示图像,asp.net-mvc-3,image,Asp.net Mvc 3,Image,我有一个包含用户信息和图像字段的表,并将图像存储在二进制数据中 我想在我的视图页面上的一个包含用户信息的表格中显示此图像 我的代码是。。 控制器 public ActionResult About() { var data = db.dbtable.ToList(); return View(data); } Get Image方法//reg是dbtable的对象 public FileContentResult GetImage(int id) {
public ActionResult About()
{
var data = db.dbtable.ToList();
return View(data);
}
Get Image方法//reg是dbtable的对象
public FileContentResult GetImage(int id)
{
reg = db.dbtable.FirstOrDefault(i => i.RegNo == id);
if (reg != null)
{
return File(reg.Photo, "image/jpeg");
}
else
{
return null;
}
}
在查看页面上
@model IEnumerable<MvcMySchool.dbtable>
<table width="50">
<tr>
<th>
Registration No.
</th>
<th>
First Name
</th>
<th>
Last Name
</th>
<th>
City
</th>
<th>
Photo
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.RegNo)
</td>
<td>
@Html.DisplayFor(modelItem => item.FirstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.City)
</td>
<td>
@*HttpContext.Current.Response.Write("<img width="75" height="75" src=@(Url.Action("GetImage", "Home", new { id = item.RegNo })) />")*@
<img width="75" height="75" src=@(Url.Action("GetImage", "Home", new { id = item.RegNo })) />
</td>
</tr>
}
</table>
@model IEnumerable
注册号。
名字
姓
城市
照片
@foreach(模型中的var项目)
{
@DisplayFor(modeleItem=>item.RegNo)
@DisplayFor(modelItem=>item.FirstName)
@DisplayFor(modelItem=>item.LastName)
@DisplayFor(modeleItem=>item.City)
@*HttpContext.Current.Response.Write(“”)*@
}
它只显示第一行中的图像,之后什么也不显示
谢谢。仅将路径保留在图像中可能更有意义 如果你是一个团队
public FileStreamResult GetImage(int id)
{
reg = db.dbtable.FirstOrDefault(i => i.RegNo == id);
if (reg != null)
{
MemoryStream ms = new MemoryStream(reg.Photo);
return File(ms, "image/png");
}
else
{
return null;
}
}
更符合逻辑的方式保持,ony-way
public FileResult GetImage(int id)
{
reg = db.dbtable.FirstOrDefault(i => i.RegNo == id);
if (reg != null)
{
FileInfo fi = new FileInfo(Server.MapPath(reg.Photo));
return File(fi.OpenRead, "image/png");
}
}
两者皆有
<tr>
<td>
<img src="/Home/GetImage/@item.RegNo" alt="" />
</td>
</tr>
感谢回复i first logic,它在表的第一行仅显示一个图像。我想要数据库中的所有图像,并显示每个表行中的每个图像..好的@foreach(模型中的var项){}
如果您在渲染后使用@foreach(模型中的var项){}
页面,则
我在数据库的内容文件夹中没有图像,图像存储为二进制数据(以字节为单位),请使用第一个代码示例操作并使用查看
查看图像、浏览器url