Einzelnen Beitrag anzeigen

hirsch

Registriert seit: 29. Jan 2008
Ort: Tuttlingen
88 Beiträge
 
Delphi 2007 Professional
 
#10

Re: MySQL Blob als longblob Bild speichern und auslesen

  Alt 13. Apr 2010, 14:45
Ok, Danke Bebe,
das funktioniert. Hab dann eine SQL-Datensicherung gemacht und mir angeguckt, was in dem BLOB steht, und es ist wirklich das Bild.

Ach ja ich sollte noch erwähnen, dass in der Tabelle nur jpg vorkommen können.
Nun habe ich angefangen das BlobFeld auszulesen und in ein TImage anzuzeigen. und da bekomme ich immer den Fehler JPEG #41. Dann habe ich hier gesucht und nix gefunden, nur das habe ich gefunden, was ich eh schon gemacht habe.
Delphi-Quellcode:
var sql : String;
    BS : TClientBlobStream;
    blobF : TBlobField;
    MS : TMemorystream;
    jpg : TJPEGImage;
...//.. Schnipp
      //Bild anzeigen
      bS.Position:=(JpegStartsInBlob(Datamodule1.cds1.FieldByName('Blobbild') as TBlobField));
      Try
        bS.Seek(JpegStartsInBlob(Datamodule1.cds1.FieldByName('Blobbild') as TBlobField), soFromBeginning);
        MS := TMemoryStream.Create;
        MS.CopyFrom(BS, BS.Size);
        MS.Position := BS.Position;
        jpg:=TJPEGImage.Create;
        //JPEGtoBMP(bs);
        jpg.LoadFromStream(bs);
        Image1.Picture.Graphic:=jpg; //habe das probiert
        Image1.Picture.Graphic.LoadFromStream(ms); //und das auch, und habe beides probiert.
      Finally
         ms.Free;
      End;
Das sind so die Ergebnisse die ich bei der Suche gefunden habe.
Was mache ich hier falsch?
Wolfgang Hirsch
  Mit Zitat antworten Zitat