Я пытаюсь загрузить видео с некоторыми другими параметрами через общего веб-работника.
Ниже я вставляю код, который я использую:
record.js
function sendVideo(name, path) {
var worker = new SharedWorker("js/upload.js");
worker.port.postMessage([path, name + '.webm', blob]);
// worker.port.start();
worker.port.onmessage = function(e) {
console.log('Message received from worker ' + e.data);
}
}
upload.js
onconnect = function(e) {
var port = e.ports[0];
port.onmessage = function(e) {
var path = e.data[0];
var fileName = e.data[1];
var video = e.data[2];
var request = new XMLHttpRequest();
request.open('POST', 'http://localhost/channel/upload', true);
request.onload = function () {
port.postMessage(request.responseText);
};
request.send('fileName=' + fileName + '&video=' + video);
}
// port.start(); // not necessary since onmessage event handler is being used
}
channel.php
public function upload()
{
$data = file_get_contents('php://input');
// get the video from $data and move it
}
Проблема в том, если мой работник отправит:
request.send('fileName=' + fileName + '&video=' + video);
Контент, который получает мой php-код, — [blob data].
и если мой работник отправит:
request.send('video=' + video);
Контент, который получает мой php, — это видео, закодированное со специальными символами.
У меня вопрос, как я могу получить текст и видео, как если бы я имел $_FILES
чтобы правильно его обработать.
Спасибо за совет.
Задача ещё не решена.
Других решений пока нет …