Ich speichere Bilder für Dokumentationszwecke in einer Datenbank.
Code: Alles auswählen
  ....
  Add.SQL ( ... ) 
    ParamByName('picture').LoadFromFile(OpenDialog.FileName, ftBlob); 
  Execute;
  ....
Code: Alles auswählen
   SQL ....
         BlobStream := TMemoryStream.Create;
          TBlobField(FieldByName('picture')).SaveToStream(BlobStream);
         BlobStream.Position := 0;
         Image1.Picture.LoadFromStream(BlobStream);
         BlobStream.Free;   
In die Datenbank speichern und auslesen funktioniert fehlerfrei. Wenn ich allerdings die angezeigten Bilder wieder auf die Festplatte des Benutzers speichern möchte, brauche ich dazu die korrekte Dateierweiterung. Diese will ich aber auf keinen Fall mit in die Datenbank in ein extra Feld speichern.
Code: Alles auswählen
 ....
     SaveDialog.DefaultExt:= 'jpg';
     SaveDialog.Filter := 'JPEG (Bild Datei)|*.jpg|PNG (Portable Network Grafik)|*.png';
     SaveDialog.FileName := MyFileName + '.jpg';
 if SaveDialog.Execute then begin
      Image1.Picture.Graphic.SaveToFile(SaveDialog.FileName);  
 ....     
Wo kann ich abfragen und sicherstellen, unter welchem Dateityp ich das Bild speichern muss.


 Verein
Verein 
 Links
Links Suche
Suche