2017-10-16 11 views

Répondre

0
const imageBuff = Buffer.from(image, 'base64'); 
    gm(imageBuff) 
    .resize(72, 72) 
    .strip() 
    .write('../curber/newimage.png', function (err) { 
    if (!err) console.log('done'); 

    else 
    console.log(err.log, err.stack); 
    }); 
+0

Je l'ai réparé de cette manière. –

+1

C'est littéralement ma réponse ... –

0

Vous devez convertir la chaîne base64 à un Buffer:

var gm = require("gm"); 
var fs = require("fs"); 
var image = fs.readFileSync("input.png", "base64"); 

gm(Buffer.from(image, "base64")) 
.resize(72, 72) 
.strip() 
.write("output.png", function(error) { 
    if (error) return console.error(error); 
    console.log("Done!"); 
}); 
+0

Oui, il est vrai que je dois convertir la chaîne base64 à un tampon. –

+0

Mais, le typeof (image) est 'chaîne encodée en base64'. Donc, fs.readFileSync ("input.png", "base64"); ne fonctionnera pas. –

+0

Je travaille sur api de mise à jour d'image de profil et j'obtiens l'image en tant que chaîne codée en base64 de frontend. Je dois le compresser, le redimensionner et le sauvegarder sur aws s3. –