var imageBuffer = customJs.decodeBase64Image(base64Data); var imageTypeDetected = imageBuffer.type.match(/\/(.*?)$/); var filename = 'profile-' + Date.now() + '.' + imageTypeDetected[1]; // config.uploadImage --- Folder path where you want to save. var uploadedImagePath = config.uploadImage + filename; try { fs.writeFile(uploadedImagePath, imageBuffer.data, function () { dbMongo.updateImage({email: decoded.email, user_id: decoded.userId, 'profile_picture': config.showImagePath + filename}, function (res) { if (res.error) { socket.emit('set_update_image', {'error': 1, 'message': 'Error!' + res.message, 'data': null, 'status': 400}); } else { console.log(res); socket.emit('set_update_image', res); } }); }); } catch (e) { socket.emit('set_update_image', {'error': 1, 'message': 'Internal server error ' + e, 'data': null, 'status': 400}); }
From other file call a function
exports.decodeBase64Image = function decodeBase64Image(dataString) { var matches = dataString.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/); var response = {}; if (matches.length !== 3) { return new Error('Invalid input string'); } response.type = matches[1]; response.data = new Buffer(matches[2], 'base64'); return response; }