如果数据库ASP中不存在图像,如何显示显示默认图像.净芯3.1



如果数据库ASP中不存在图像,如何显示默认图像。NET CORE 3.1

我试过了。不起作用,因为我将其保存为字节数组,并且这是一条路径";字符串";

<img class="刊头头像mb-5";src="~/img/@模型。物主阿凡达"images/defaultImage.jpg"style=";边界半径:50%";alt="gt;

这是错误的,因为源~/img/@Model.Owner.Avatar。。只有浏览器知道图像是否不存在。

您需要在服务器端进行检查。

在您的cshml中,您可以进行

@{
var avatarImg = File.Exists($"~/img/{Model.Owner.Avatar}") ? "$"~/img/{Model.Owner.Avatar}" : "images/defaultImage.jpg";
}

以及后来的

<img class="masthead-avatar mb-5" src="@avatarImg" style="border-radius:50%" alt="">

或者另一种选择是通过oneror事件在客户端执行:

<img src="..." onerror="this.src = 'default.jpg'" />

如果数据库ASP中不存在图像,如何显示默认图像。NET CORE 3.1

我试过了。不起作用,因为我将其保存为字节数组,并且这是一条路径";字符串";

如果您将图像文件作为二进制数据直接保存到数据库中,为了在视图页面中显示它,您可以尝试首先将Byte Array转换为base64字符串,如下所示。

<img class="masthead-avatar mb-5" src="@(Model.Owner.Avatar == null ? "/img/default.jpg" : string.Format("data:image/jpg;base64,{0}",Convert.ToBase64String(Model.Owner.Avatar)))" style="border-radius:50%" alt="">