AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Image in Blob field (Web-Application)
Thema durchsuchen
Ansicht
Themen-Optionen

Image in Blob field (Web-Application)

Ein Thema von Ykcim · begonnen am 24. Nov 2020 · letzter Beitrag vom 20. Dez 2020
Antwort Antwort
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#1

Image in Blob field (Web-Application)

  Alt 24. Nov 2020, 15:26
Datenbank: MySQL • Version: 5 • Zugriff über: FireDac
Hallo Zusammen,

ich versuche gerade meine erste Web-Application zu programmieren und würde mich über Unterstützung sehr freuen!

Ich nutze zwar TMS WebCore aber ich glaube, die Frage hat nicht wirklich etwas damit zu tun...

Ich lade ein Bild in ein Image, speicher das Image in einen Stream und möchte dann den Stream in einem Blob-Feld in dem MySQL-Server speichern. Aber das bekomme ich leider nicht hin. Ich bekomme auch keine Fehlermeldung, es kommt nur nichts in der DB an.

Delphi-Quellcode:
procedure TForm_TVclient_Main.WFP_LogoChange(Sender: TObject);
var Img_URL: string;
      Image_File: TJSHTMLFile;
      MStream: TMemoryStream;
begin
   if Assigned(WFP_Logo.Files[0]) then begin
      // Load Picture in TWebImageControl
      Image_File:=WFP_Logo.Files.Items[0].FileObject;
      Img_URL:= Application.ObjectURL(Image_File);
      Img_Logo1.URL:= Img_URL; //Das Bild wird korrekt angezeigt.
      //Upload the Picture to MySQL as Blob
      MStream:= TMemoryStream.Create;
      Try
         MStream.Position:=0;
         Img_Logo1.SaveToJSONStream(MStream);
         MStream.Position:=0;
         DataModule_Client.DataSet_NewLogo.Insert;
         DataModule_Client.DataSet_NewLogo.FieldByName('logo').LoadFromJSONStream(MStream);
         DataModule_Client.DataSet_NewLogo.FieldByName('company_id').AsInteger:=1; //Nur zum Testen
         DataModule_Client.DataSet_NewLogo.FieldByName('logo_id').AsInteger:=1; //Nur zum Testen
         DataModule_Client.DataSet_NewLogo.Post;
      Finally
         MStream.Free;
      End;
   end;
end;
Kann mir jemand einen Tip geben, warum das nicht fliegt?

Vielen Dank
Patrick
Patrick
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.552 Beiträge
 
Delphi 7 Professional
 
#2

AW: Image in Blob field (Web-Application)

  Alt 24. Nov 2020, 19:06
Warum bei 'nem Bild bitte LoadFromJSONStream?

Bilder im JSON-Format?

Vielleich mal einfach nur 'nen Stream laden?

DataModule_Client.DataSet_NewLogo.FieldByName('logo').LoadFromStream(MStream);
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#3

AW: Image in Blob field (Web-Application)

  Alt 24. Nov 2020, 19:34
Das habe ich auch versucht, aber LoadFromStream kennt er angeblich nicht...
Patrick
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.552 Beiträge
 
Delphi 7 Professional
 
#4

AW: Image in Blob field (Web-Application)

  Alt 24. Nov 2020, 19:59
Hilft das als Idee? https://www.delphipraxis.net/1366902-post18.html

Ansonsten mal oben rechts bei Suche Blob Image eingeben und durch die Ergebnisse wühlen. Etliche tausend Treffer zum Thema, keine Ahnung welche der dort aufgeführten Lösungen die für Dich passende ist, aber die richtige Lösung ist bestimmt dabei wenn eventuell auch nicht unbedingt auf Anhieb auffindbar .

Weitere Suchbegriffe:

createblobstream
tblobfield

TBlobField(DataModule_Client.DataSet_NewLogo.FieldByName('logo')).SaveToStream(MStream);
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#5

AW: Image in Blob field (Web-Application)

  Alt 24. Nov 2020, 21:38
Vielen Dank.

Sag mal kannst Du mir sagen, was der Unterschied zwischen einem TStream oder TMemoryStream und einen JSONStream ist? Ich bekomme die Dinger leider nicht ausgelesen, damit ich mir die Struktur ansehen kann...

Gruß
Patrick
Patrick
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Image in Blob field (Web-Application)

  Alt 24. Nov 2020, 22:31
Hallo,
mit Stream.Size bekommt man immerhin die Größe raus.
Was ist denn Dein TImage für eine Klasse.
Dass es dafür kein SaveToStream gibt, ist schon merkwürdig.

Der SQL-Code von DataSet_NewLogo wäre auch nicht schlecht.
Heiko

Geändert von hoika (24. Nov 2020 um 22:59 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz