C# 添加到列表时从对象转换为字节[]

C# 添加到列表时从对象转换为字节[],c#,asp.net-mvc,C#,Asp.net Mvc,我正在制作一个ASP MVC web应用程序,我正在尝试从SQLite数据库加载图像,将它们添加到列表中,并在我的视图中显示它们 在我的模型中,我有这样一个图像: public Byte Image { get; set; } public List<ImageModel> Images { get; set; } using (SQLiteDataReader rdr = cmd.ExecuteReader()) {

我正在制作一个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 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;
                }
公共列表图像{get;set;}
使用(SQLiteDataReader rdr=cmd.ExecuteReader())
{
while(rdr.Read())
{
列表。添加(新的ImageModel
{
Image=“data:Image/png;base64,”+Convert.ToBase64String(rdr[“Image”])//错误
});
}
rdr.Close();
图像=列表;
}
但它给了我一个“无法从对象转换为字节[]”。关于我如何处理这个问题,有什么提示吗

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));
}

啊,谢谢。这确实让我更接近了,但在我序列化字符串并将其添加到列表的行中,我得到了一个“不能隐式地将类型字符串转换为字节[]”。将模型中的类型从字节更改为字符串也没有帮助,因为这样它只会在视图中输出一个巨大的字符串。