Je reçois BLOB
des données sur le serveur nodeJs qui sont converties à partir d'une image PNG.
J'ai besoin de recréer une image png sur le serveur nodeJs pour pouvoir l'afficher sur un document pdf.
J'avais essayé d'utiliser FileSaver sur nodeJs mais cela ne fonctionne pas. FileSaver fonctionne bien sur l'application reactJs.
Comment puis-je enregistrer un nouveau fichier dans le répertoire local sur le serveur?
Il y a beaucoup de questions pointant sur les problèmes de création d'un blob sous forme de fichier image mais je n'ai pas pu utiliser le base64encode, donc d'autres questions n'ont pas été utiles.
Dans les données BLOB du fichier image png, il y a la propriété buffer
.
J'ai donc utilisé cette solution pour créer une image.
var imageBuffer = request.file.buffer;
var imageName = 'public/images/map.png';
fs.createWriteStream(imageName).write(imageBuffer);
Cela a résolu mon problème.
var base64Data = req.body.image.replace(/^data:image\/png;base64,/, "");
require("fs").writeFile("out.png", base64Data, 'base64', function(err) {
console.log(err);
});
Essayez celui-ci ici l'image est le nom sur lequel les données arrivent.