2017-07-13 5 views
1

J'essaye d'employer un exemple PHP-et-FFmpeg de la technologie RecordRTC (https://github.com/muaz-khan/RecordRTC) dans le projet de Laravel.RecordRTC dans Laravel

Il y a une fonction js:

function xhr(url, data, callback) { 
    var request = new XMLHttpRequest(); 
    request.onreadystatechange = function() { 
     if (request.readyState == 4 && request.status == 200) { 
      callback(request.responseText); 
     } 
    }; 
    request.open('POST', url); 
    request.send(data); 
} 

Appels à la fonction suivante:

function PostBlob(audioBlob, videoBlob, fileName) { 
    var formData = new FormData(); 
    formData.append('filename', fileName); 
    formData.append('audio-blob', audioBlob); 
    formData.append('video-blob', videoBlob); 
    xhr('/upload/store', formData, function(ffmpeg_output) { 
     document.querySelector('h1').innerHTML = ffmpeg_output.replace(/\\n/g, '<br />'); 
     preview.src = 'uploads/' + fileName + '-merged.webm'; 
     preview.play(); 
     preview.muted = false; 
    }); 
} 

où les données envoie à save.php pour le téléchargement de vidéo sur serveur.

au lieu du fichier i utilisé comme 'magasin', a ajouté à web.php:

Route::post('/upload/store', '[email protected]')->name('store'); 

dans un contrôleur i tenprorary fait ce qui suit:

public function store(Request $request) 
    { 
     dd($request); 
} 

mais dans la console Firefox écrit :

Invalid URI. La charge de la ressource multimédia a échoué

Dites-moi où est-ce que je me suis trompé?

Répondre

0

Le problème est dans la fonction PostBlob dans cette ligne, qui utilise un mauvais URI:

xhr('save.php', formData, function(ffmpeg_output) { 

Modifier le save.php-/upload/store.

+0

Désolé, j'ai oublié de dire que j'ai déjà changé cette valeur, mais elle donne la même erreur – Alexeymsa

+0

Si vous téléchargez manuellement le fichier dans le dossier des téléchargements, l'erreur disparaîtra-t-elle? Pourrait être l'aperçu qui jette l'erreur –