RecordRTC загрузить на аудио на Codeigniter MVC Server

Я пытался записать звук в CodIginiter с помощью плагина RecordRTC для функции аудио-чата. В простом PHP этот плагин, кажется, работает, но я не могу отправить элемент bolb в контроллер для загрузки на сервер в рамках cideigniter.

Вот код Javascript, который конвертирует аудио в блоб и посты:

var listOfFilesUploaded = [];

function uploadToServer(recordRTC, callback) {
var blob = recordRTC instanceof Blob ? recordRTC : recordRTC.blob;
var fileType = blob.type.split('/')[0] || 'audio';
var fileName = (Math.random() * 1000).toString().replace('.', '');

if (fileType === 'audio') {
fileName += '.' + (!!navigator.mozGetUserMedia ? 'ogg' : 'wav');
} else {
fileName += '.webm';
}

// create FormData
var formData = new FormData();
formData.append(fileType + '-filename', fileName);
formData.append(fileType + '-blob', blob);

callback('Uploading ' + fileType + ' recording to server.');

makeXMLHttpRequest('<?php echo site_url('/member/audioToCounsellor');?>', formData, function(progress) {
if (progress !== 'upload-ended') {
callback(progress);
return;
}

var initialURL = '<?php echo base_url('uploads/audio');?>';

callback('ended', initialURL + fileName);

// to make sure we can delete as soon as visitor leaves
listOfFilesUploaded.push(initialURL + fileName);
});
}

function makeXMLHttpRequest(url, data, callback) {
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
callback('upload-ended');
}
};

request.upload.onloadstart = function() {
callback('Upload started...');
};

request.upload.onprogress = function(event) {
callback('Upload Progress ' + Math.round(event.loaded / event.total * 100) + "%");
};

request.upload.onload = function() {
callback('progress-about-to-end');
};

request.upload.onload = function() {
callback('progress-ended');
};

request.upload.onerror = function(error) {
callback('Failed to upload to server');
console.error('XMLHttpRequest failed', error);
};

request.upload.onabort = function(error) {
callback('Upload aborted.');
console.error('XMLHttpRequest aborted', error);
};

request.open('POST', url);
request.send(data);
}

Есть ли методы, которые я могу преобразовать uploadToServer функция в вызове ajax и как можно обрабатывать элемент blob в ajax, а также элемент post в контроллере.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]