我有一个视图从数据库输出数据列表,其中一个字段是通过我的网站上传的图像。我像这样输出图像:
<img src='@item.ToBase64ImageString(@item.FileData)' />
在我的模型中,我有:
public string ToBase64ImageString(byte[] data)
{
return string.Format("data:image/jpeg;base64,{0}", Convert.ToBase64String(data));
}
我有另一个视图,其目的只是显示所选项目的详细信息(Controller / Details / id),我也希望在此视图中显示图像。
我无法使用上面的代码,因为我在@item中没有单独的项目 - 我有@model但由于某种原因这种方法不起作用。
以下是详细信息视图:
@model Models.Tier
@Html.DisplayNameFor(model => model.FileData)
<img src="@Html.DisplayFor(model => model.ToBase64ImageString(model.Bild))" />
简而言之,如何在不使用帮助程序的情况下为模型字段输出HTML?
答案 0 :(得分:2)
您可以在字节数组上创建扩展方法,并在需要的地方使用
public static class MyByteArrayExtensions
{
public static string ToBase64(this byte[] data)
{
return string.Format("data:image/jpeg;base64,{0}", Convert.ToBase64String(data));
}
}
在您看来,
<img src="@Model.Bild.ToBase64()" />