我正在尝试通过共享网络工作人员上传包含其他参数的视频。
下面我粘贴我正在使用的代码:
record.js
äÄüÜö
upload.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);
}
}
channel.php
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
}
问题是如果我的工作人员发送:
public function upload()
{
$data = file_get_contents('php://input');
// get the video from $data and move it
}
我的php代码获取的内容是[blob data]。
如果我的工作人员发送:
request.send('fileName=' + fileName + '&video=' + video);
我的php获取的内容是视频编码,充满特殊字符。
我的问题是如何获取文字和视频,就好像我有request.send('video=' + video);
才能正确处理它。
感谢您的建议。