1
我通過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
);
(注意最後PARAM,trustAllHosts
,設置爲true,因爲我的測試服務器是自簽名的。)
科爾多瓦顯然認爲它是發送數據,但我的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
。
我在做什麼錯?