[英]Convert from object to byte[] while adding to a list
我正在制作一个ASP MVC Web应用程序,并且试图从SQLite数据库加载图像,将它们添加到列表中并在我的视图中显示它们。
在我的模型中,我有这样的图像:
public Byte Image { get; set; }
我正在尝试阅读并添加如下内容:
public List<ImageModel> Images { get; set; }
using (SQLiteDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
list.Add(new ImageModel
{
Image = "data:image/png;base64," + Convert.ToBase64String(rdr["image"]) // error
});
}
rdr.Close();
Images = list;
}
但这给了我一个“无法从对象转换为字节[]”的信息。 关于我该如何处理的任何提示?
public static byte[] Serialize(object obj)
{
var binaryFormatter = new BinaryFormatter();
var ms = new MemoryStream();
binaryFormatter.Serialize(ms, obj);
return ms.ToArray();
}
接着
Image = "data:image/png;base64," + Convert.ToBase64String(Serialize(rdr["image"]))
对于反序列化:
public static object Deserialize(byte[] data)
{
var binaryFormatter = new BinaryFormatter();
return binaryFormatter.Deserialize(new MemoryStream(data));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.