使用ASP.Net MVC从数据库中检索和显示图像

Doc*_*tor 3 asp.net-mvc image

我想从数据库中检索图像,然后将其发送到视图并将其显示为缩略图.这是我的代码,但它有一些错误,我无法正确返回图像.我正在使用ASP.Net MVC和aspx页面.

控制器:

public ActionResult showImg(int id)
{
   var imageData = from m in db.Products
                   where m.ShopId == 3
                   select Image.FromStream(new MemoryStream(m.Product_img.ToArray()));

   return new FileStreamResult(new System.IO.MemoryStream(imageData), "image/jpeg");
}
Run Code Online (Sandbox Code Playgroud)

查看:

<img src='<%= Url.Action("showImg", "image", new { id = ViewData["imageID"] } ) %>' /> 
Run Code Online (Sandbox Code Playgroud)

Nic*_*ick 5

看起来您不需要Image在linq语句中重新创建对象,只需返回流并将其传递给您FileStreamResult:

var image = (from m in db.Products
             where m.ShopId == 3
             select m.Product_img).FirstOrDefault();

var stream = new MemoryStream(image.ToArray());

return new FileStreamResult(stream, "image/jpeg");
Run Code Online (Sandbox Code Playgroud)