una llenar dinamicamente desde datos cuadro consulta con como combinado cargar jquery ajax file-upload blob wave

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



select html en php (2)

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 = <?php echo $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!"); } }); });

.

<?php if(isset($_FILES[''file'']) and !$_FILES[''file''][''error'']){ $fname = "11" . ".wav"; move_uploaded_file($_FILES[''file''][''tmp_name''], "../ext/wav/testes/" . $fname); } ?>

Estoy tratando de capturar audiocorrección ( https://github.com/cwilso/AudioRecorder ) y enviar el blob a través de Ajax 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 = <?php echo $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):

<?php if(!empty($_POST)){ $data = implode($_POST); //transforms the char array with the blob url to a string $fname = "11" . ".wav"; $file = fopen("../ext/wav/testes/" .$fname, ''w''); fwrite($file, $data); fclose($file); }?>

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


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.