显示存储在Database asp.net mvc 3中的位置的图像

时间:2012-08-04 09:45:50

标签: asp.net-mvc-3 image razor

我在Database中存储了完整的图像位置。图像存储在该特定位置。我想在视图中显示图像。怎么做?

1 个答案:

答案 0 :(得分:2)

由于路径不在站点内,您需要在控制器中执行此操作:

public ActionResult Image(int id)
{
    string imagePath = // get the image path by the id

    return File(imagePath, "image/jpg");
}

所以我们有一个控制器,它将从数据库中获取图像路径,并返回文件。现在这将返回文件,但是如果要在视图中显示它,则执行以下操作:

<img src="@Url.Action("Image", "ImageController", new { id = idOfImageInDB })" alt="Image Description" />

现在发生的事情是加载视图时,它从ImageController调用Image动作并传递它idOfImageInDB(所需图像的数据库键)并显示图像。

请注意,您需要ImageControllerImage ActionResult所在的控制器的名称,而idOfImageInDB是用于查找图像的int