C# 从Api获取图像并在Razor视图中显示
我有一个webApi方法,我使用Oracle数据库在字节数组中获取员工记录和他们的十六进制加密图像,当我在应用程序中获取字节数组并使用img src标记在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
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")'
}
图像保存在数据库中:
从数据库接收图像:
这段代码太糟糕了,我真的不知道你到底在做什么,甚至不知道你想做什么。你需要回到绘图板上,看看。