Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.419 Beiträge
 
Delphi 7 Professional
 
#13

AW: Image in Blob field (Web-Application)

  Alt 27. Nov 2020, 14:03
Das noch irgendwas umformatiert werden muss, wäre eher kontraproduktiv.

Eigentlich erwarte ich bei 'nem Textfeld, egal ob Blob oder VarChar, dass da Text unverändert gespeichert und gelesen werden kann.

Speichere Logo_string bitte mal über 'ne Stringliste (o. ä.) als Datei und schau Dir die dann an. Da dürften nur Codepage-unabhängigen ASCII-Zeichen drinne sein. (Zur Kodierung werden die Zeichen A–Z, a–z, 0–9, + und / verwendet sowie = am Ende.)
Alles, was außerhalb dieses Bereiches liegt, könnte als Fehlerursache in Betracht gezogen werden.

Es wäre also wohl zuerstmal zu prüfen, ob das, was momentan als Base64 vermutet wird, auch tatsächlich Base64 ist.

Welchen Zeichensatz nutzt das Longtext? Findet da irgendwo eine unbeabsichtigte Zeichensatzkonvertierung statt?

Wenn die Probleme bleiben, eventuell auch mal die Inhalte aus dem VarChar und dem LongText via Stringliste (o. ä.) als Dateien speichern und dann quasi Logo_String, VarChar und LongText auf Dateiebene vergleichen.

Wenn das nix wird, die einfach mal hier anhängen, eventuell finden sich ja ein paar Adleraugen, die den Knackpunkt für dieses seltsame Verhalten entdecken können.

Eventuell auch noch das Originalbild hier dazupacken, so dass man mal "händisch" aus dem Bild Base64 macht und das mit dem von Deinem Programm erstellten vergleicht.

Oder:

https://www.base64decode.org/

Dort kann man zwischen "Encode to Base64 format" und "Decode from Base64 format" wählen (auch für Dateien).

Spendiere denen mal das Logo als Bilddatei und schaue, ob deren Ergebnis mit dem Deines Programmes übereinstimmt.

Und gönne denen mal Deinen Base64-String und schaue, ob die Dir Dein Logo daraus herstellen können.

Wenn das dort in beide Richtungen klappt und die Ergebnisse einwandfrei sind, können wir nach Fehlern beim Speichern in der Datenbank suchen. Solange nicht sicher ist, dass das, was Du speichern möchtest auch spezifikationskonform ist, hilft es nicht einen (möglichen) Fehler im Zusammenhang mit der Datenbank zu suchen.
  Mit Zitat antworten Zitat