使用Razor在模型中显示位图

时间:2012-06-12 01:39:53

标签: c# asp.net-mvc asp.net-mvc-3 razor

我目前正在处理的webApp要求我将照片存储为数据库中的byte[]。然后需要我将它们拉出来并在视图中显示它们。我创建了一个photoContainer来保存位图而不是byte[]并将其传递给视图。但我似乎无法弄清楚如何从那里显示它。我已经尝试将源设置为model.Image,但这不起作用。无论如何在视图中在我的模型中显示位图?

提前致谢。

1 个答案:

答案 0 :(得分:2)

在控制器中放置

public FileResult GetImg(int id)
    {                       
         var image = db.Categories.First(m => m.CategoryID == id).Picture;

         byte[] imageData;
         if(image != null)
         {
             imageData = image.ToArray();
             return File( imageData, image.contentType );
         }
         else
         {
             return null;
         }
     }

在您的视图中显示

<img src="@Url.Action("GetImg", "ControllerTheActionAboveIsPlacedIn", new { id = Model.ImageId})" />