【发布时间】:2018-03-30 23:19:47
【问题描述】:
我正在尝试将 blob 数据读入 html 图像对象。我想避免在此过程中创建和处理任何文件(除非不可避免)。我当前的代码是
数据表:
studentID | firstname | photo
----------+-----------+------------
93 |Eva | Blob data
StudentEntity.cs:
public class ShortStudent
{
public string firstname { get; set; }
public int studentid { get; set; }
public string photo { get; set; }
}
这些数据然后按如下方式发送到视图
ShortStudent sd = new ShortStudent();
sd.firstname = <name from db>;
sd.photo = Convert.ToBase64String(Serialize(<Blob data from db>));
....
return Json(sd, JsonRequestBehavior.AllowGet);
序列化:
private byte[] Serialize(string p)
{
var binaryFormatter = new BinaryFormatter();
var ms = new MemoryStream();
binaryFormatter.Serialize(ms, p);
return ms.ToArray();
}
Javascript:
<img src="data:image/gif;base64,#= data.photo #" alt="<image not found>" />
如果我输入一些示例数据,它会正确显示,但不是来自数据库的数据(序列化和转换后的 db 数据大小是示例数据的 3 倍)
【问题讨论】:
标签: c# html image entity-framework blob