Я использую RecordRTC для записи видео, а затем сохраняю его на сервере.
У меня проблема. С помощью классического метода, предложенного автором, я могу отправить видео, оно работает:
xhr('temoignages/save.php', formData, function (fName) {
window.open(location.href + fName);
});
function xhr(url, data, callback) {
var request = new XMLHttpRequest();
request.onreadystatechange = function () {
if (request.readyState == 4 && request.status == 200) {
callback(location.href + request.responseText);
}
};
request.open('POST', url);
request.send(data);
}
Но мне не нравится тот факт, что он открывает новые окна. Он не работает все время из-за блокировки всплывающих окон.
Так что я изменил это на:
$.ajax({
type: 'POST',
url: 'temoignages/save.php',
data: formData,
processData: false,
contentType: false
}).done(function(data) {
console.log(data);
});
Но это не работает.
Я получаю это в консоли:
Initialized recorderType: MediaStreamRecorder for output-type: video
started recording!
Stopped recording video stream.
Recorder state changed: stopped
video/webm -> 46.8 KB
finished recording: {video: Blob(46849)}
Invalid temp_name:
XHR finished loading: POST ".../save.php".
И когда я использую один и тот же код для отправки mp3-файла, он работает с обоими методами. Чего мне не хватает?