1
我已经在数据库上保存了一个图像,并且想要将其显示给用户。如何在ASP.NET MVC中从数据库加载图像?
表的图像存储在看起来像这样:
Images
------
ImageData Byte
ImageName String
ContentType String
我应该怎么做来加载,并显示在我的观?
我已经在数据库上保存了一个图像,并且想要将其显示给用户。如何在ASP.NET MVC中从数据库加载图像?
表的图像存储在看起来像这样:
Images
------
ImageData Byte
ImageName String
ContentType String
我应该怎么做来加载,并显示在我的观?
图像控制器类:
public ActionResult ProfileImage(string userName)
{
var imageByteArray = // get image bytes from DB corresponding to userName
string contentType = // get image content type from DB for example "image/jpg"
string fileName = // get image file name from DB
return File(imageByteArray, contentType, fileName);
}
鉴于:
<img src='/Image/ProfileImage/yourUserName' alt='Profile image' />
您还需要在Global.asax中的自定义路线:
routes.MapRoute(
"ProfileImage",
"Image/ProfileImage/{userName}",
new { controller = "Image", action = "ProfileImage", userName = "" }
);
您也可以加载位图中的图像并应用更改,如调整大小,旋转等。如果你这样做,考虑将图像保存为PNG,因为GDI +(System.Drawing)可以保持这种格式的最佳质量和透明度。缓存动态图像也是一个很好的做法。
ImageData = Convert.ToByte [](reader [“@ ImageData”]); 如何读取字节类型的信息?我在第一个“]”后出错了。 – 2010-08-25 15:26:15
它是什么意思15? imageName? – 2010-08-25 15:35:38
对不起,它应该是用户名(或者如果你这样决定的话,图像名称) – 2010-08-25 18:56:27