1
我是ASP.NET MVC Web開發新手。在MVC中顯示數據庫中的圖像
我想從SQL Server數據庫的剃刀視圖中的img標籤中顯示圖像。
在我的模型圖像被存儲爲字節的數組:
public class Business
{
public string ID { get; set; }
[Required]
public string BusinessName { get; set; }
public string City { get; set; }
[Required]
public string Description { get; set; }
public byte[] LogoImage { get; set; }
}
在控制器我是從分貝獲取圖像數據[VARBINARY(MAX)]柱:
...
LogoImage = (byte[])reader["LogoImage"]
...
在查看我有一個標準的詳細信息模板,我把以下代碼:
@{
var base64 = Convert.ToBase64String(model.LogoImage);
var imgSrc = String.Format("data:image/gif;base64,{0}", base64);
}
<img src='@imgSrc' style="max-width:100px; max-height:100px;" />
所以,我真的很掙扎在剃刀視圖,如果對待其中一個,則會發生其他錯誤。顯示除圖像外的其他屬性。
有人可以建議我如何在剃鬚刀視圖中顯示圖像? 將圖像填充爲img src ='... long data ...'是否好? 如何從模型傳遞或訪問數組?我是否必須將它轉換爲字符串@ Html.DisplayFor(model => model.LogoImage)?
你會得到什麼錯誤?如果將「model.Image」替換爲「model.LogoImage」,並且圖像實際上具有gif格式,則代碼應該可以工作。 – NineBerry
@NineBerry Thnx快速響應,我已更改爲LogoImage(打字錯誤)。因此,我無法將model數組作爲model.LogoImage在當前上下文中顯示'model'不存在。我應該訪問爲Html.DisplayFor(模型=> model.LogoImage)? – user2992532
你需要拼寫模型與大寫M. Html.DisplayFor不知道如何處理圖像 – NineBerry