Javascript Cordova FileTransfer发送文件,但未收到任何内容

Javascript Cordova FileTransfer发送文件,但未收到任何内容,javascript,android,cordova,file-transfer,phonegap,Javascript,Android,Cordova,File Transfer,Phonegap,我将通过Cordova's录制的视频通过发送到远程服务器,但没有任何东西(文件或任何数据)到达服务器端。服务器接收到请求,但它似乎是空的 根据科尔多瓦的说法,一切都很顺利。以下是成功回调的读数: 这是我的JS:mediaFiles[0]是捕获的视频文件 var options = new FileUploadOptions(); options.fileName = 'foo.bar'; options.mimeType = mediaFiles[0].type; options.params

我将通过Cordova's录制的视频通过发送到远程服务器,但没有任何东西(文件或任何数据)到达服务器端。服务器接收到请求,但它似乎是空的

根据科尔多瓦的说法,一切都很顺利。以下是成功回调的读数:

这是我的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,因为我的测试服务器是自签名的

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中的读数为空

我做错了什么?

结果是选项中的选项是罪魁祸首

如果这对其他任何人都有帮助,请禁用它。默认情况下,这是正确的,一切都应该很好

options.chunkedMode = false;

不过,我不知道如何解释打开时空请求的行为。参数的存在是为了将文件分块发送,以允许某种形式的进度反馈。

您保存了我的一天。我尝试了两个多小时不同的东西,然后突然想到了这个解决方案。它起作用了。谢谢。很高兴它帮助了某人。不幸的是,几年后,这并没有解决我遇到的完全相同的问题@Pixelknight1398我不认为它是关于年;上述评论员拉杰什说,这是他上周的解决方案:@Mitya你是对的,我没有注意到这一点。无论哪种方式,我使用的是离子,它有一种不同于单独使用科尔多瓦的方法。ChunkeMode现在已经被弃用,但爱奥尼亚仍然坚持使用过时的插件。即使在修改了php.ini之后,我似乎也找不到解决这个问题的方法。你是怎么找到这个解决方案的?也许这会让我走上找到我的正确道路。