Imagen base64 corrompida subiendo a S3

router.post('/image', multipartMiddleware , function(req, res) { var file_name = req.body.name; var data = req.body.data; return s3fsImpl.writeFile(file_name , data , 'base64').then(function (err) { res.status(200).end(); }); }); 

¿Qué está mal en mi código de arriba? No hay ningún error en mi terminal, tengo el archivo en mi s3 pero está dañado cuando lo descargo.

Ya que no sé qué es s3fsImpl en su código, no puedo responder esto a su implementación, pero aquí es cómo lo haría usando aws-sdk:

 const AWS = require('aws-sdk'); const s3 = new AWS.S3({apiVersion: '2006-03-01'}); const file_name = req.body.name; const data = req.body.data; const base64String = data.replace(/^data:image\/\w+;base64,/, ""); const buff = new Buffer(base64String,'base64'); const format = data.substring(data.indexOf('data:')+5,base64Img.indexOf(';base64'); s3.upload({ Bucket:'s3-bucket-name', Key: file_name, Body: buff, ContentEncoding:'base64', ContentType:format }, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response });