Я пытаюсь записать видео (уже работающее), используя видеотег HTML5, «getUserMedia» для доступа к камере устройства и API MediaRecorder для захвата кадров и Angular1 для обработки загрузки файла. Теперь у меня возникли проблемы с загрузкой BLOB-объекта на мой PHP-сервер, работающий на Laravel. В настоящее время у меня есть 2 способа загрузки видео, во-первых, с помощью «ng-click», это работает нормально, но когда я программно загружаю BLOB-объект, используя тот же Функция, которую запускает «ng-click», похоже, нарушает mimeType моего Blob, вот как выглядит мой код.
$scope.uploader = function() {
let fData = new FormData();
let blob = new Blob($scope.chunk, { type: 'video/webm' });
fData.append('vid', blob)
$http.post(url, fData, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined},
}, success, error)
})
$timeout(function() {
$scope.uploader();
}, 10000)
Эта проблема заключается в том, что когда "$scope.uploader()" вызывается с помощью "ng-click", он работает нормально, но при вызове метода "uploader" с использованием "$timeout" он, кажется, меняет mimeType на "application/octet -stream», что вызывает проблему.