c# - 从 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")'
}
图像保存在数据库中:
从数据库接收图像:
解决方案
推荐阅读
- arrays - 在对象内填充数组的正确方法是什么?
- c# - Unity 编辑器不更新资产
- c++ - 在运行时检测是否在 C++ 程序中使用了 OPENMP
- node.js - 从实时数据库firebase throw函数获取数据
- flutter - 卡片中心的值
- php - 如何隐藏“myaccount-order”页面上的取消按钮,跟随支付网关?
- r - 如何将 %in% 的输出存储为 if true, X, if false, Y
- angularjs - prerender 渲染了错误的 url
- angular - 根据列选择以角度 6 动态显示和隐藏 ngx-datatable 列
- wpf - 如何根据另一个按钮的 MouseEnter 触发一个按钮的 MouseOver?