当数据库中的图像为0xFFD8FFE00 .......
时,如何显示图像我正在使用MVC 5和EF
我的代码上传图片:
string pic = System.IO.Path.GetFileName(file.FileName);
string path = System.IO.Path.Combine(
Server.MapPath("~/Content"), pic);
file.SaveAs(path);
using (MemoryStream ms = new MemoryStream())
{
file.InputStream.CopyTo(ms);
model.Image = ms.GetBuffer();
}
var image = new Image()
{
Image1 = model.Image
};
db.SaveChanges();
正如您可以看到我使用viewModel和Image [/ p>的byte []数据类型
如何将其转换为图像并在视图中显示?
答案 0 :(得分:0)
您可以将byte[]
转换为based64
字符串,可将其转换为html格式,如
@{
var base64 = Convert.ToBase64String(Model.Image);
var imgSrc = ($"data:image/png;base64,{base64}");
}
这会将图片转换为base64string
,我认为Model.Image
的类型为byte[]
,最后将imgSrc
添加到html标记image
<img src="@imgSrc" />
另一种方法是使用Viewbag
以便实施
var base64 = Convert.ToBase64String(Image);
Viewbag.imgSrc = ($"data:image/png;base64,{base64}");
并在视图中使用viewbag
<img src="@Viewbag.imgSrc" />