0

我有一个保存图像的数据库

在此处输入图像描述

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

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

但我明白了:

在此处输入图像描述

4

2 回答 2

0

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

<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在初始请求中获取属性,以避免在视图中不再使用它时不必要地查询它。

于 2012-05-15T15:54:03.907 回答
-1

您需要创建一个控制器操作,使用return File(...).

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

于 2012-05-15T15:51:08.357 回答