1

I'm using MEAN.io and i'm trying to upload a base64 encoded image.

Client side, AngularJS:

          // Image we're going to send it out
          var base64Image = files[i];

          var file = {
            image: base64Image,
            type: type,
            filetype: extension,
            characterId: character._id
          };

          var newFile = new MediaSendBase64(file);

          newFile.$save(function(image) {
            if ( !image ) {
              console.log('ERROR IMAGE');
            }
            else {
              console.log('SUCCESS.');

              console.log(image);
            }
          });

Server side, NodeJS, controller:

app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));

exports.uploadBase64 = function(req, res, next) {

  var uploadPath  = path.normalize(process.cwd() + '/packages/characters/public/assets/uploads/'),
      data        = new Buffer(''),
      imgURL      = undefined,        // public URL to show the pic
      type        = undefined;


  // In case the '/uploads' directoy doesn't exist
  if( !fs.existsSync(uploadPath) ) {
    fs.mkdirSync(uploadPath, 0755);
  }


  // Decoding the base64 image
  var data = new Buffer(req.body.image, 'base64');

  // Creating the name for the file --> characterId + type + timestamp + extension
  var filename = req.body.characterId + '-' + req.body.type + '-' + new Date().getTime().toString() + '.' + req.body.filetype;

  // Writing the image to filesystem
  fs.writeFile(uploadPath + filename, data, function (err) {

    if ( err ) {
      console.log(err);
      return res.status(500).json({
        error: 'Cannot upload the image. Sorry.'
      });
    }

    console.log('SAVED ON HD');

    console.log('FINISHING');

    // Sending success response
    res.json({
      imgURL: imgURL,
      type: type
    });

  });

};

The thing is the file stored in /uploads isn't work. I can't see the image. The base64 image is sent and the file is written to hard disk, but it is not possible to open it.

What's wrong? Any suggestion?

Thanks!

Rubén Jiménez
  • 1,835
  • 5
  • 21
  • 29

3 Answers3

8

It maybe that you are trying to save the file with the metadata. hence making the decoded data from base64 invalid.

Here is what I mean:

data:image/png;base64,iVBORw0KG....

The data:image/png;base64 is just meta and is not encoded using base64 so:

You need to strip that from the sting then decode then save to disk.

I use this handy function:

function decodeBase64Image(dataString) {
  var matches = dataString.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/),
    response = {};

  if (matches.length !== 3) {
    return new Error('Invalid input string');
  }

  response.type = matches[1];
  response.data = new Buffer(matches[2], 'base64');

  return response;
}

source: NodeJS write base64 image-file

So a snip from how I use it:

 var decodedImg = decodeBase64Image(imgB64Data);
 var imageBuffer = decodedImg.data;
 var type = decodedImg.type;
 var extension = mime.extension(type);
 var fileName =  "image." + extension;
 try{
       fs.writeFileSync(".tmp/uploads/" + fileName, imageBuffer, 'utf8');
    }
 catch(err){
    console.error(err)
 }

Where mime is the great node-mime lib. npm install mime.

Community
  • 1
  • 1
Johan Buys
  • 176
  • 1
  • 5
  • Your code works but not completely. It is not url-safe. The uploaded image returns blank. – Grogu Jun 22 '21 at 17:48
  • @Grogu Hi I am not sure what you mean, the original question was to save a base64 encoded image file to server as an Image. I believed that the image was a base64 url string, this contains the extra meta data. So I proposed to strip that info then decode the base64 string to binary data then save it. The saved image will not be url-safe as it now contains binary data. If you simply want to save it to be url-safe you should not strip the metadata and simply save the base64 url as is. – Johan Buys Jun 23 '21 at 07:30
0

if your using express file upload you could do this

routerApi.patch('/upload_gambar', (req, res) => {
    var file_data= req.files.upload_file_name.data;
    var base64Image = file_data.toString('base64');
}

if your using multer file upload you could do this

routerApi.patch('/upload_gambar', upload.single('upload_file_name'),(req, res) => {
    var file_data= req.file.buffer
    var base64Image = file_data.toString('base64');
}
0

Node js base64 to image convert and upload on disk after read and write here code working with me.

var imgBase64 = 'data:image/png;base64,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';

var base64Data = imgBase64.replace(/^data:image\/png;base64,/, "");
    fs.writeFile(uploadPath+"/out.png", base64Data, 'base64', function(err) {
    console.log(err);
    });
fs.readFileSync(base64Data, {encoding: 'base64'});
pawan sen
  • 716
  • 5
  • 14