【发布时间】:2012-07-07 01:28:46
【问题描述】:
我是 MVC(来自面向对象的 C# exe 应用程序)和 Stackoverflow 的新手。我一直在努力尝试使用 MVC 有效地运行代码。我有从数据库返回的模型数据,以及该数据是一个字节字段,它是一个 jpeg 图像。在这个阶段,我已经对数据库进行了一次调用......
现在我坚持的是,一旦填充的模型数据在要渲染的视图中,我不能简单地循环它并在每个数据行中渲染图像。我发现使它工作的唯一方法是调用返回 FileContentResult 的 Action 方法,但这需要为每个图像重新调用回数据库。
对于解决方案,我尝试了三种不同的方法来解决以下问题:
- 我似乎无法通过 Action 方法将字节数组传回控制器 满足 MVC 希望如何在 看法。 Action 方法只想接受简单类型。
- 我显然不想让控制器返回数据库获取字节 我已经在视图中拥有的数据,尤其是当这将 我的模型数据中的每个条目都涉及多次往返。
- 使用 Data Uri 有效,但尚无足够多的浏览器支持。
谁能告诉我处理此类问题的最佳方法是什么?我是否需要处理问题 1 或 2,或者是否有我遗漏的其他方法?
这是我最初在问题 1 中尝试使用的代码,用于将字节数组传回控制器,以便渲染 FileContentResult:
<img src=" @{Html.RenderAction("RenderMemberImage", "Home", new { @pic = x.ThumbnailData });}" />
[HttpGet]
public FileContentResult RenderMemberImage(byte[] pic)
{
return new FileContentResult(pic, "mime/jpeg");
}
【问题讨论】:
标签: c# asp.net-mvc image-rendering