ASP MVC - byte[] 到图像
ASP MVC - byte[] to Image
我的 ASP MVC 站点有问题。我正在尝试将 byte[]
转换为 cshtml 文件中的图像 "on the fly"。这是代码示例:
<div class="col-md-6 portfolio-item">
<table>
@foreach (var item in new Projek2.Models.DatabaseEntities().Photos)
{
<tr>
<td>
@using (var ms = new MemoryStream(item.Photo1))
{
<img src=@System.Drawing.Image.FromStream(ms)/>
}
</td>
<td>
@Html.DisplayFor(modelItem => item.FileName)
</td>
</tr>
}
</table>
</div>
它在 FromStream()
转换期间抛出错误(据我记得 InvalidOperation
)或仅显示小占位符而不是图像(如卸载图像)。
有人知道将 byte[]
转换为有效的 cshtml 图像的技巧吗?
使用以下假设
item.Photo1
是 byte[]
item
有一个 mime 属性,它包含照片的 mime 类型,如 image/png
或 image/jpeg
,等等。否则你可以从文件名中推导出 mime 类型假设该名称包含文件扩展名。
您可以创建一个 Data URI scheme 并将其作为图像的来源 (src) 嵌入。
<div class="col-md-6 portfolio-item">
<table>
@foreach (var item in new Projek2.Models.DatabaseEntities().Photos)
{
<tr>
<td>
<img src="@System.String.Format("data:{0};base64,{1}",item.Mime,Convert.ToBase64String(item.Photo1))"/>
</td>
<td>
@Html.DisplayFor(modelItem => item.FileName)
</td>
</tr>
}
</table>
</div>
请注意,根据我的假设,如果该项目不存储图像类型,那么您可以创建一个辅助方法来从图像文件名派生类型,因为它包含图像的文件扩展名。使用像 image\{file extension}
这样的格式
我的 ASP MVC 站点有问题。我正在尝试将 byte[]
转换为 cshtml 文件中的图像 "on the fly"。这是代码示例:
<div class="col-md-6 portfolio-item">
<table>
@foreach (var item in new Projek2.Models.DatabaseEntities().Photos)
{
<tr>
<td>
@using (var ms = new MemoryStream(item.Photo1))
{
<img src=@System.Drawing.Image.FromStream(ms)/>
}
</td>
<td>
@Html.DisplayFor(modelItem => item.FileName)
</td>
</tr>
}
</table>
</div>
它在 FromStream()
转换期间抛出错误(据我记得 InvalidOperation
)或仅显示小占位符而不是图像(如卸载图像)。
有人知道将 byte[]
转换为有效的 cshtml 图像的技巧吗?
使用以下假设
item.Photo1
是 byte[]item
有一个 mime 属性,它包含照片的 mime 类型,如image/png
或image/jpeg
,等等。否则你可以从文件名中推导出 mime 类型假设该名称包含文件扩展名。
您可以创建一个 Data URI scheme 并将其作为图像的来源 (src) 嵌入。
<div class="col-md-6 portfolio-item">
<table>
@foreach (var item in new Projek2.Models.DatabaseEntities().Photos)
{
<tr>
<td>
<img src="@System.String.Format("data:{0};base64,{1}",item.Mime,Convert.ToBase64String(item.Photo1))"/>
</td>
<td>
@Html.DisplayFor(modelItem => item.FileName)
</td>
</tr>
}
</table>
</div>
请注意,根据我的假设,如果该项目不存储图像类型,那么您可以创建一个辅助方法来从图像文件名派生类型,因为它包含图像的文件扩展名。使用像 image\{file extension}