Bilder in DataURL umawandeln - JavaScript

  • Moin,
    Ich versuche hochgeladene Dateien über JavaScript in DataURls umzuwandeln. ich habe zu folgenden Code:

    Der Code funktionier super. Mein Problem ist nur, dass wenn ich dein 2,14 MB Großes Bild hochlade erhalte ich eine DataURL die gespeichert über 44MB einnimmt. Ich finde das nicht akpeptabel und kann mir auch nicht erklären woher die zusätzlichen daten kommen. Ich brauche die DataURL zwingend, weil ich mit binären Daten nicht arbeiten kann. Ich möchte aber auch nicht unnötig resourcen verschwenden.
    Hat Jemand von euch einen Plan, wie ich die DataURL nur mit den daten bekomme die wirklich im bild enthalten sind?

  • Wieso kannst du nicht mit Binärdaten arbeiten?

    Deine Dateigröße ist ziemlich schnell erklärt da du ein Canvas erstellst, das dürfte als Bitmap passieren. Wieso nutzt du da kein base64?

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • Wieso kannst du nicht mit Binärdaten arbeiten?

    Deine Dateigröße ist ziemlich schnell erklärt da du ein Canvas erstellst, das dürfte als Bitmap passieren. Wieso nutzt du da kein base64?

    dataURLs sind doch base64 codiert oder etwa nicht?

    Ich muss die Daten verschlüsseln und dann in einer mysql datenbank speichern können. mit binärdaten wäre alles viel komplizierter. ich brauche einfach eine möglichkeit aus dem File Object einen String zu bekommen den man verarbeiten kann und auch nachher wieder in ein bild umwandeln kann.

  • Wenn ich das richtig verstanden habe ist bei Javascript "DataUrl" eben base64 ja, du erstellst aber ein Canvas, zeichnest dort die Bilddatei als Bitmap nach und speicherst diese.

    Und ob du nun einen String verschlüsselt oder eine Datei, kommt auf das selbe heraus.

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!