Javascript Cordova FileTransfer发送文件,但未收到任何内容
我将通过Cordova's录制的视频通过发送到远程服务器,但没有任何东西(文件或任何数据)到达服务器端。服务器接收到请求,但它似乎是空的 根据科尔多瓦的说法,一切都很顺利。以下是成功回调的读数: 这是我的JS:mediaFiles[0]是捕获的视频文件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
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之后,我似乎也找不到解决这个问题的方法。你是怎么找到这个解决方案的?也许这会让我走上找到我的正确道路。