FileTransfer pluginを介してリモートサーバにCordovaのMediaCapture plugin経由で録画されたビデオを送信しますが、ファイルやデータはありません。サーバーは要求を受信しますが、空であるようです。Cordova FileTransferがファイルを送信しましたが、何も受信しませんでした
コルドバによれば、すべてうまくいく。ここでは、成功コールバックから読み出しています:
そして、ここでは私のJSです:(mediaFiles[0]
は、キャプチャしたビデオファイルである)
var options = new FileUploadOptions();
options.fileName = 'foo.bar';
options.mimeType = mediaFiles[0].type;
options.params = {
mime: mediaFiles[0].type
};
var ft = new FileTransfer();
ft.upload(
mediaFiles[0].fullPath,
encodeURI("http://xxxxxx.com/receive-video.php"),
function (r) {
console.log(r);
alert('sent file!');
},
function (error) {
alert('error');
console.log(error);
},
options,
true
);
は(以降trueに設定され、trustAllHosts
、最後のparamに注意してください。私のテストサーバーは自己署名されています)。
Cordovaは明らかにデータを送信したと思っていますが、PHPスクリプトには同意しません。ここに私のPHPがあります:
file_put_contents(
'readout.txt',
"Payload\n----------\n".
file_get_contents('php://input').
"\n\nRequest\n----------\n".
print_r($_REQUEST, 1).
"\n\nFiles\n----------\n".
print_r($_FILES, 1).
"\n\nPost\n----------\n".
print_r($_POST, 1)
);
ご覧のとおり、どこにでもいます。ただし、これらのすべてが空の読み取り値になります(readout.txt
)。
私は間違っていますか?