首页 > 解决方案 > 从 Api 获取图像并在 Razor 视图中显示

问题描述

我有 webApi 方法,我使用 Oracle 数据库在字节数组中获取员工记录及其十六进制加密图像,当我在我的应用程序中获取字节数组并使用 img src 标签在剃刀视图中调用它时,它不显示图像. 这是我目前正在尝试的:

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")' 
}

图像保存在数据库中:

从数据库接收图像:

标签: c#arraysasp.net-web-apiasp.net-core

解决方案


推荐阅读