次のように、画像を 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' with data contract name 'Bitmap: http://schemas.datacontract.org/2004/07/System.Drawing ' は想定されていません」でした。DataContractResolver の使用を検討するか、既知の型のリストに静的に認識されていない型を追加します。たとえば、KnownTypeAttribute 属性を使用するか、DataContractSerializer に渡される既知の型のリストにそれらを追加します。詳細については、InnerException を参照してください。
誰でも助けてもらえますか?