Pase Blob a través de ajax para generar un archivo

Estoy intentando capturar audiocorrección ( https://github.com/cwilso/AudioRecorder ) y enviar el blob a Ajax por un archivo php, que recibirá el contenido blob y creará el archivo (el archivo wave en este caso).

Llamada Ajax:

audioRecorder.exportWAV(function(blob) { var url = (window.URL || window.webkitURL).createObjectURL(blob); console.log(url); var filename = ; $.ajaxFileUpload({ url : "lib/vocal_render.php", secureuri :false, dataType : blob.type, data: blob, success: function(data, status) { if(data.status != 'error') alert("boa!"); } }); }); 

y mi archivo php (vocal_render.php):

  

PD: Soy novato con blobs y ajax. Gracias por adelantado.

Intente cargar el archivo como datos de formulario

 audioRecorder.exportWAV(function(blob) { var url = (window.URL || window.webkitURL).createObjectURL(blob); console.log(url); var filename = ; var data = new FormData(); data.append('file', blob); $.ajax({ url : "lib/vocal_render.php", type: 'POST', data: data, contentType: false, processData: false, success: function(data) { alert("boa!"); }, error: function() { alert("not so boa!"); } }); }); 

.

  

De acuerdo con la documentación , al usar XMLHttpRequest.send() puede usar el objeto Blob directamente.

 var blob = new Blob(chunks, { 'type' : 'audio/webm' }); var xhr = new XMLHttpRequest(); xhr.open('POST', '/speech', true); xhr.onload = function(e) { console.log('Sent'); }; xhr.send(blob); 

He intentado esto y funciona como un encanto.