在视图中显示数据库中的图像

时间:2016-12-21 18:07:26

标签: c# asp.net-mvc entity-framework

我试图在我的视图中显示我的数据库中的图像,但我无法使其工作。

我在f5上得到了这个结果:

enter image description here

以下是我的模型的外观:

    public int CompId { get; set; }
    public byte[] ImageData { get; set; }
    [NotMapped]
    public HttpPostedFileBase UploadImage { get; set; }
    [NotMapped]
    public string ImageBase64 => System.Convert.ToBase64String(ImageData);
    public string CompanyName { get; set; }

和视图:

   @model ekspo.Models.Company

@{
    ViewBag.Title = "Details";
}

<h2>Details</h2>

<div>
    <h4>Company</h4>
    <hr />
    <dl class="dl-horizontal">
        <dt>
            @Html.DisplayNameFor(model => model.ImageData)

        </dt>

        <dd>
            @*@Html.DisplayFor(model => model.ImageData)*@
            <img src="data:image/type;base64,@Model.ImageBase64)" />
        </dd>

2 个答案:

答案 0 :(得分:1)

更改行

<img src="data:image/type;base64,@Model.ImageBase64)" />

<img src="data:image/jpg;base64,@Model.ImageBase64" />

(只是删除该尾随)。

如果所需的图像类型不是jpg,请相应更改。

答案 1 :(得分:0)

您可以使用asp图像控件在页面上显示图像。 1.从数据库中获取图像URL。 2.绑定到图像控件的URL 或试试这个 http://www.aspsnippets.com/Articles/Display-image-from-database-in-Image-control-without-using-Generic-Handler-in-ASPNet.aspx