ASP.NET - Razor 从模型中获取图像

Dei*_*nok 4 html c# asp.net razor

我有这个模型,imageFirst 和 imageLast 将是 Properties.Resources 中的图像

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Drawing;

namespace Clinica_Imagine_Web.Models.ClinicCase {

    public class ClinicCase {

        public Bitmap imageFirst { get; set; }
        public Bitmap imageLast { get; set; }
        public string description { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

在 htmlview 中,我以这个为例

@using Clinica_Imagine_Web.Models.ClinicCase
@model ClinicCase

<h2>ClinicCase</h2>

<p>@Model.description</p>
<img src="@Model.imageFirst" />
<img src="@Model.imageLast" />
Run Code Online (Sandbox Code Playgroud)

如何在 htmlview 中显示模型的图像?

And*_*rei 5

在您的模型中使用 byte[] 数组而不是位图。比你将能够使用这个:

<img src="@String.Format("data:image/png;base64,{0}", Convert.ToBase64String(Model.ImageBytes))" />
Run Code Online (Sandbox Code Playgroud)

这就是您将位图转换为数组的方式:

private static byte[] BitmapToBytes(Bitmap bitmap)
{
    using (var stream = new MemoryStream())
    {
        bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
        return stream.ToArray();
    }
}
Run Code Online (Sandbox Code Playgroud)