Blob saved as [object Object] Nodejs
I finally got this working. The approach to get this to work is to encode the blob on the client, and decode it on the server.
Frontend:
// converts blob to base64var blobToBase64 = function(blob, cb) { var reader = new FileReader(); reader.onload = function() { var dataUrl = reader.result; var base64 = dataUrl.split(',')[1]; cb(base64); }; reader.readAsDataURL(blob);};blobToBase64(blob, function(base64){ // encode var update = {'blob': base64}; $http.post('/api/save_recording', update) .success(function(new_recording) { console.log("success"); });});
Backend:
exports.saveRecording = function(req, res) { var buf = new Buffer(req.body.blob, 'base64'); // decode fs.writeFile("temp/test.wav", buf, function(err) { if(err) { console.log("err", err); } else { return res.json({'status': 'success'}); } }); };