我正在尝试将图像作为 BLOB 存储在我的数据库中,如下所示:
c = new MySqlCommand("INSERT INTO korisnici VALUES( '" + entity.Id + "','" + entity.Prezime + "','" + entity.Ime + "','" + **SlikaUBase64(entity.Slika, ImageFormat.Bmp)**...
这是我从图像创建 BLOB 的函数:
public string SlikaUBase64(Image image, ImageFormat format)
{
//slika u byte[]
byte[] prazan=new byte[0];
if (image == null) return Convert.ToBase64String(prazan);
MemoryStream ms = new MemoryStream();
image.Save(ms, format);
byte[] imageBytes = ms.ToArray();
// byte[] u base64
string base64 = Convert.ToBase64String(imageBytes);
return base64;
}
我得到了这个异常:尝试序列化参数http://tempuri.org/:entity时出错。InnerException 消息是 'Type 'System.Drawing.Bitmap' 与数据合同名称 'Bitmap: http://schemas.datacontract.org/2004/07/System.Drawing ' 不是预期的。考虑使用 DataContractResolver 或将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用 KnownTypeAttribute 属性或将它们添加到传递给 DataContractSerializer 的已知类型列表中。有关更多详细信息,请参阅 InnerException。
有人可以帮忙吗?