Image Base64 nicht lesbar

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von KingTimon.

    Image Base64 nicht lesbar

    Sehr geehrte Community,

    derzeit probiere ich, dass ich ein Bild auf einen Server hochladen will, wo es dann verarbeitet wird.

    Dazu sende ich den Base64-Code des Bildes an den Server:

    VB.NET-Quellcode

    1. Dim ImageBase64 As String = ""
    2. Using ms As New MemoryStream
    3. Clipboardimage.Save(ms, Imaging.ImageFormat.Png)
    4. ImageBase64 = Convert.ToBase64String(ms.ToArray)
    5. End Using


    Soweit so gut, das Bild kommt auch gut am Server an und wird in die Datenbank gespeichert.

    Ausgegeben wird das Bild dann folgendermaßen:

    PHP-Quellcode

    1. Header ("Content-type: image/jpeg");
    2. echo base64_decode($clip['image']);


    Leider funktioniert das nicht so ganz. Es wird zwar ein Bild geladen, exakt in derselben Größe des zuvor hochgeladenen Bildes, jedoch ohne irgendwelche Farben...



    Bei diesem Screenshot wird das Bild mit einem blauen Hintergrund hinterlegt. Somit ist klar, dass das Bild die Größe beibehalten hat. Aber wo sind die Farben??

    Grüße und danke für jede Hilfe

    EDIT: So sieht beispielsweise ein nicht funktionierender Base64-Code aus: pastebin.com/2KZPa9Cf (zu lang für's Forum)
    Auf der Suche nach Coding-Kursen auf Lence.at

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „KingTimon“ ()

    1) In deinem raw-pastebin sind Leerzeichen (nach Korrektur ist das Bild aber immer noch korrupt; EOF beim Lesen des IDAT-Blocks)
    2) Wenn das ein PNG sein sollte, passt "Content-type: image/jpeg" nicht so ganz...
    3) Überprüfe zunächst, ob das Bild richtig aus der Zwischenablage(?) gelesen wird, indem du es lokal abspeicherst
    Falls es dort klemmt, versuch mal die Zwischenablage wie folgt zu lesen:

    C#-Quellcode

    1. IDataObject data = Clipboard.GetDataObject();
    2. if(data.GetDataPresent(DataFormats.Bitmap)) {
    3. Bitmap image = (Bitmap)data.GetData(DataFormats.Bitmap);
    4. // ...
    5. }
    Danke @3daycliff für deine Antwort!!

    zu 1) Die Leerzeichen sind mir auch schon aufgefallen, aber wie du schon sagtest, auch nach rausarbeiten ist das bild ncoh falsch
    2) Habe ich bereits erkannt und ausgebessert, danke trotzdem für den Hinweis.
    zu 3) danke für den Tipp, versuche ich sofort.
    Auf der Suche nach Coding-Kursen auf Lence.at
    Danke für die Hilfe!

    Fehler war: die Leerzeichen sind Ursprünglich Plus-Zeichen und wurden beim Post nicht mitgenommen.
    Auf der Suche nach Coding-Kursen auf Lence.at