我有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")'
}
图像保存在数据库中:
从DB接收图像: