我正在向ASP.NET MVC中的View发送一个位图。我的ViewModel中有一个属性:
public Bitmap TemplateImage { get; set; }
在我的视图中,我希望能够渲染该Bitmap图像,但我无法弄清楚如何做到这一点。
答案 0 :(得分:3)
一种解决方案是创建一个新的动作,如下所示:
public FileContentResult Show(int id)
{
var category = northwind.AllCategories().Single(c => c.CategoryID == id);
byte[] imageByte = category.Picture;
string contentType = "image/jpeg";
return File(imageByte, contentType);
}
并发送图像的ID,并像这样引用它:
<img src="<%: Url.Action("Show","Image",new { id = Model.Category.CategoryID }) %>
答案 1 :(得分:0)
由于HTTP无法将HTML和二进制图像数据同时包含在同一连接中的同一个管道中,因此将Bitmap数据传递给View无意义。您必须通过存储(可能是暂时的)位图数据并让客户端通过唯一的URL请求它来找到另一种方法。