我正在寻找将图像数据存储在模型中然后在视图中检索它的最佳方法。
目前我有:
public class Product
{
public int Id { get; set; }
public byte[] Image { get; set; }
}
然后我有一个控制器
public class ProductController
{
public ActionResult List()
{
return View(Repository.GetAll())
}
public FileContentResult GetImage(int id)
{
Product p = Repository.GetById(id);
return new FileContentResult(p.Image, "image/jpeg");
}
}
一个看法...
@model IEnumerable<Product>
@foreach(var product in Model)
{
<img src="@Url.Action("GetImage", "Person", new { id = item.Id })" alt="Person Image" />
}
发生的情况是,当我在列表中获得越来越多的产品时,图像开始在屏幕上闪烁,以适应立即加载。
我正在发布到 Azure,所以我不能真的只是去更改byte[]
并string
查看字符串,~/Images/ProductImage.jpeg
因为每次我想添加新产品时都必须发布网站(据我所知)。
我只是在寻找一种替代方法,或者为什么我的视图上的图像逐渐出现并一个接一个地闪烁而不是立即闪烁的原因?