C# 从Api获取图像并在Razor视图中显示

C# 从Api获取图像并在Razor视图中显示,c#,arrays,asp.net-web-api,asp.net-core,C#,Arrays,Asp.net Web Api,Asp.net Core,我有一个webApi方法,我使用Oracle数据库在字节数组中获取员工记录和他们的十六进制加密图像,当我在应用程序中获取字节数组并使用img src标记在razor视图中调用它时,它不会显示图像 以下是我目前正在尝试的: while (rdr.Read()) { EmployeeRefVM emp = new EmployeeRefVM(); emp.REF_NO = rdr["REF_NO"].ToString(); emp.ENAME = rdr["ENAME"].T

我有一个webApi方法,我使用Oracle数据库在字节数组中获取员工记录和他们的十六进制加密图像,当我在应用程序中获取字节数组并使用img src标记在razor视图中调用它时,它不会显示图像 以下是我目前正在尝试的:

while (rdr.Read())
{
    EmployeeRefVM emp = new EmployeeRefVM();
    emp.REF_NO = rdr["REF_NO"].ToString();
    emp.ENAME = rdr["ENAME"].ToString();
    emp.EMP_PIC = (byte[])rdr["EMP_PIC"];//get Image in byte[]
    emp.age = GetAge(emp.EMP_DOB);
    employeelist.Add(emp);
}
在我的.net核心应用程序中,我称之为

TempData["EmpPic"] = employeeDetails.EMP_PIC;
public ActionResult Image()
{
    var allsystemconfig = _systemConfigServices.getAllSystemconfig();
    var wwwrootpath = _environment.WebRootPath;
    string filePAth = wwwrootpath + allsystemconfig.FirstOrDefault(q => q.MetaKey == "DefaultImage").MetaValue;
    byte[] imageData = (byte[])TempData["EmpPic"];
    string base64String = Convert.ToBase64String(imageData);
    return base.File(imageData, "image/png");
}
这是我的观点

@{
    var base64 = Convert.ToBase64String(Model.EMP_PIC);
    var imgSrc = String.Format("data:image/jpeg;base64,{0}", base64);
    img src='@Url.Action("Image", "Party")' 
}
图像保存在数据库中:

从数据库接收图像:


这段代码太糟糕了,我真的不知道你到底在做什么,甚至不知道你想做什么。你需要回到绘图板上,看看。