Bildkodierung in Node JS
Do 11. Apr 2019
Translated by: gpt-4o-2024-08-06
| Original version
Dieser Artikel ist in Arbeit!
Beim Programmieren eines Nebenprojekts musste ich mich mit Bildern in einer Node-Anwendung auseinandersetzen. Meine Anwendung verwendet Express, Amazon Rekognition sowie Pouchdb.
Ich hatte es mit verschiedenen Quellen und Zielen zu tun:
- Ein Benutzer lädt ein Bild hoch
- Ich lese ein Bild von einer Datei, sei es im JPEG- oder PNG-Format
- Ich sende ein Bild an AWS
- Ich speichere ein Bild in meiner PouchDB
Beim Durchsuchen der verschiedenen Quellen stieß ich auf verschiedene Formate, wie Bilder in Node gehandhabt werden können:
- Als Puffer, der Binärdaten enthält
- Als Zeichenkette, die Base64-kodierte Daten enthält, beginnend mit etwas wie
data:image/jpeg;base64,
(oder mitpng
) - Als Zeichenkette, die Base64-kodierte Daten ohne den speziellen Anfang enthält
Dies sind die verschiedenen Operationen, die ich durchführe, und was sie als Ausgabe liefern:
- Lesen einer Datei von der Festplatte mit fs
: Rückgabe eines Buffer
mit Binärdaten
Dies sind die Quellen und Ziele, in/von denen Bilddaten in meinem Beispiel übertragen werden:
Lesen
Hilfreiche Informationen, die ich zu den Themen gefunden habe:
- Wie konvertiere ich ein Bild in eine base64-kodierte Daten-URL in sails.js oder allgemein in serverseitigem JavaScript? StackOverflow
- NodeJS base64 Bildkodierung/Dekodierung funktioniert nicht ganz, StackOverflow
- Inkjet, JPEG-Bilddekodierung, Kodierung & EXIF-Lesebibliothek für Browser und node.js, Github