我正在将位图发送到ASP.NET MVC中的视图。我的ViewModel中有一个属性:

public Bitmap TemplateImage { get; set; }

在我看来,我希望能够渲染该位图映像,但我不知道该怎么做。

有帮助吗?

解决方案

一种解决方案是创建一个新动作,这样的解决方案:

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  }) %>

其他提示

由于HTTP并不意味着能够在同一连接中填充同一管道下的HTML和二进制图像数据,因此这使您的视图传递位图数据毫无意义。您必须通过存储(也许是临时)位图数据并通过唯一的URL来寻求它来找到另一种方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top