Encodage d'image dans Node JS
jeudi 11 avril 2019
Translated by: gpt-4o-2024-08-06
| Original version
Cet article est en cours de rédaction !
En programmant sur un projet parallèle, j’ai dû gérer des images dans une application node. Mon application utilise Express, Amazon Rekognition ainsi que Pouchdb.
Je traitais différentes sources et cibles :
- Un utilisateur télécharge une image
- Je lis une image à partir d’un fichier, qu’elle soit au format JPEG ou PNG
- J’envoie une image à AWS
- Je stocke une image dans mon pouchDB
En explorant les différentes sources, j’ai rencontré divers formats sur la manière dont les images peuvent être traitées dans node :
- Comme un buffer contenant des données binaires
- Comme une chaîne contenant des données encodées en Base64, commençant par quelque chose comme
data:image/jpeg;base64,(ou avecpng) - Comme une chaîne contenant des données encodées en base64 sans le début spécial
Voici les différentes opérations que je réalise et ce qu’elles fournissent comme sortie :
- Lecture d’un fichier depuis le disque avec fs : retourne un Buffer avec des données binaires
Voici les sources et cibles à partir desquelles les données d’image sont transférées dans mon exemple :
Lecture
Ressources utiles que j’ai trouvées sur les sujets :
- Comment convertir une image en URL de données encodées en base64 dans sails.js ou généralement dans le JavaScript côté serveur ? StackOverflow
- Encodage/décodage d’image base64 dans NodeJS ne fonctionne pas tout à fait, StackOverflow
- Inkjet, bibliothèque de décodage, encodage d’image JPEG et de lecture EXIF pour un navigateur et node.js, Github