1
我目前正在使用的webApp需要我將照片作爲byte[]
存儲在數據庫中。然後它需要我將它們拉出並在視圖中顯示它們。我創建了一個photoContainer
,它包含位圖而不是byte[]
並將其傳遞給視圖。但我似乎無法弄清楚如何從那裏顯示它。我已經嘗試將源設置爲model.Image
,但這不起作用。無論如何,在視圖中我的模型中顯示一個位圖?在剃刀模型中顯示位圖
在此先感謝。
我目前正在使用的webApp需要我將照片作爲byte[]
存儲在數據庫中。然後它需要我將它們拉出並在視圖中顯示它們。我創建了一個photoContainer
,它包含位圖而不是byte[]
並將其傳遞給視圖。但我似乎無法弄清楚如何從那裏顯示它。我已經嘗試將源設置爲model.Image
,但這不起作用。無論如何,在視圖中我的模型中顯示一個位圖?在剃刀模型中顯示位圖
在此先感謝。
在一個控制器發生這種
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})" />
這種解決方案需要一個新的數據庫調用每個圖像進行。視圖級別的模型已經包含byte []。現在沒有更高效的方式來渲染圖像,而不需要返回每個圖像的數據庫? – ElHaix
您可以使用這種方法,但在IE7及以下版本中不起作用。 IE8也是有限的。 http://stackoverflow.com/questions/2644542/outputting-a-byte-arrain-into-the-src-attribute-of-an-img-tag/2644598#2644598 –