我需要将图片保存在我的 asp.net mvc 应用程序的数据库中。我在表 MimeType (nvarchar[50]) 和 ImageData 中创建了一个字段,用于将图片保存在 byte[] 中。我使用 ado.net。我将图像保存在这样的表中:
private DBAppl db = new DBAppl();
public void CreateNewCar(newcar Car, HttpPostedFileBase image)
{
if (image != null)
{
Car.mimetype = image.ContentType;
Car.ImageData = new byte[image.ContentLength];
image.InputStream.Read(Car.ImageData, 0, image.ContentLength);
}
db.AddTonewcars(Car);
db.SaveChanges();
}
图片正常保存在表格中。然后我想在 View 中显示我的图像。我在控制器中创建方法
public FileContentResult GetImage(int newcarid)
{
DBAppl db = new DBAppl();
newcar car = (from p in db.newcars
where p.newcarid == newcarid
select p).First();
return File(car.ImageData, car.mimetype.Trim());
}
在视图中我插入了这段代码:
<% if (Model.ImageData == null)
{ %>
None
<% }
else
{ %>
<img src="<%= Url.Action("GetImage", "Cars", new { Model.newcarid }) %>" alt="<%: Model.description %>" /> <% } %>
但是图片没有加载,只有alt。求助,我做错了什么?我尝试在 html 页面的源代码中使用链接,但读取该图片有错误。我查看了 mozilla “关于页面的信息”,看到该页面有我的图片(778 kb),但它是 0px x 0px。