在 ASP.NET MVC 视图中显示数据库中的图像
本文关键字:显示 数据库 图像 视图 ASP NET MVC | 更新日期: 2023-09-27 18:31:44
我是 Asp.NET MVC开发的新手,我想创建一个在同一视图中显示数据库中的多个图像的应用程序。我将图像存储为 LONGBLOB 并转换为 base 64 字符串。
我尝试像这样显示它们:
<img src=<%:Html.Value("photo")%> />
但是,我认为 URL 不支持太大的字符串作为参数。
我的问题是:显示数据库中图像的最佳方法是什么?我需要将它们存储在图像服务器中吗?创建地图路线以保存每个URL中的图像?
我希望它很清楚。
你可以尝试这样的事情:
- 创建返回
FileContentResult
的控制器操作 - 将数据从数据库拉取到流或字节数组中
- 在操作中,使用 Controller.File 方法重载之一,传入图像内容和 MIME 类型,并从操作中返回该内容。
- 将 img src 属性设置为控制器操作的 URL,传递标识要从数据库返回的图像所需的任何参数。
public ActionResult MYsample()
{
var MyList = storeDB.GenreList();
var a= MyList.Count;
if (a != null)
{
foreach (var li in MyList)
{
return File(li.fileContent, li.mimeType,li.fileName);
}
}
return View(MyList);
}
视图
@foreach (var item in Model)
{
<img src="@Url.Action("MYsample", "HomeController", new { id = item.ProductID })" alt="@item.Productname" />
}