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 un projet annexe, j'ai dû gérer des images dans une application node. Mon application utilise Express, Amazon Rekognition ainsi que Pouchdb.
Je gérais différentes sources et cibles :
- Un utilisateur télécharge une image
- Je lis une image à partir d'un fichier, qu'il soit au format JPEG ou PNG
- J'envoie une image à AWS
- Je stocke une image dans mon pouchDB
En parcourant 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 fais et ce qu'elles fournissent en 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 et vers lesquelles les données d'image sont transférées dans mon exemple :
Lecture
Informations 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 en 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'images JPEG et lecture EXIF pour un navigateur et node.js, Github