繁体   English   中英

从对象转换为字节[],同时添加到列表中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM