gpt4 book ai didi

c# - ASP.net MVC 4 显示图像

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:41 25 4
gpt4 key购买 nike

我像这样在我的页面上显示图像

 <img src="data:image;base64,@System.Convert.ToBase64String(Model.PhotoDisplay)" />

我的模型

 public byte[] PhotoDisplay { get; set; }

但是 PhotoDisplay 可能没有图像,所以可能会返回 null,所以我得到一个错误

An exception of type 'System.ArgumentNullException' occurred in mscorlib.dll but was not handled in user code

附加信息:值不能为空。”

如何最好地处理这个问题,例子会很棒。

最佳答案

您可以使用共享模板来执行此操作。

你可以用类似的东西来注释你的字节数组

[UIHint("BytePhoto")]
public byte[] PhotoDisplay { get; set; }

并创建一个名为 BytePhoto.cstml 的新文件在 /Views/Shared/DisplayTemplates/

文件内容应该是这样的

@model byte[]
@if (Model != null)
{
<img src="data:image;base64,@System.Convert.ToBase64String(Model)" />
} else {
<b>No image to display</b>
}

然后您可以使用@Html.DisplayFor(model => model.PhotoDisplay) 调用此显示模板在你的 Razor 文件中而不是 <img src="data:image; base64, @System.Convert.ToBase64String(Model.PhotoDisplay)" /> .

如果这是您可能经常做的事情,您可以更进一步,创建一个类来封装字节数组,名称类似于 BytePhoto。 .然后您根本不需要 UIHint,Razor 标记只需使用显示模板即可工作。

关于c# - ASP.net MVC 4 显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28317569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com