如何显示保存在我的数据库中的图像

时间:2012-05-15 15:47:17

标签: asp.net-mvc-3 razor

我有一个数据库,我已保存图像

enter image description here

如何显示图像? 现在我像这样显示它

    <img alt="@album.Room_number" src="@album.ImageData" />

但我明白了:

enter image description here

2 个答案:

答案 0 :(得分:0)

如果您的客户端浏览器支持,您可以使用Data URI scheme

<img alt="@album.Room_number" src="data:image/jpeg;base64,@Convert.ToBase64String(album.ImageData)" />

如果浏览器不支持,则必须创建一个查询数据库并将图像流式传输到响应的控制器操作:

public ActionResult Image(int id)
{
    byte[] imageData = ... go and fetch the corresponding image data from the database
    return File(imageData, "image/jpeg");
}

然后:

<img alt="@album.Room_number" src="@Url.Action("Image", new { id = album.ImageId })" />

当然在这种情况下,您不应该在初始请求中获取ImageData属性,以避免在视图中不再使用它时进行不必要的查询。

答案 1 :(得分:-1)

您需要使用return File(...)创建一个为原始图像数据提供服务的控制器操作。

然后你可以写<img src="@Url.Action(...)" />