2

我今天刚刚从 Cordova (PhoneGap) 1.5 升级到 1.9,突然我的 FileTransfer 参数停止发布。我可以说出来,因为我让服务器端调试了 $_POST 参数,它们现在是空白的。这是正在运行的代码:

    var options = new FileUploadOptions();
    options.fileKey="file";
    options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
    options.mimeType="image/jpeg";
    options.chunkedMode=false;

    var params = new Object();
    params.client_token = "This will not make it across, sadly...";  

    options.params = params;

    var ft = new FileTransfer();
    rs = ft.upload(imageURI, "http://www.mysite.com/api/uploadimage", 
        function() { alert('Yay!'); }, 
        function() { alert('Fail happens..'); }, options, true);

这有发生在其他人身上吗?也许有一个必须设置的新设置?

更新:

为了确保不是 CodeIgniter 导致服务器端问题,我现在将上述代码发布到 echo.php,它只是执行“print var_dump($_REQUEST);”。仍然没有结果。我能够作弊并将客户端令牌作为 $_GET 参数扔到 URL 上,但是由于客户端发生了变化,因此破解服务器端似乎是一种耻辱。

4

1 回答 1

4

我在 iOS Cordova 1.9 上遇到了同样的问题。我发现并修复了框架代码中的错误,您可以下载我的 Cordova fork 并从中使用新修补的/dist/Cordova-1.9.0.dmg:https://github.com/eschultz/incubator-cordova- IOS/

快速浏览一下,Android Cordova 1.9 代码看起来不错。我向 Apache 提交了我的更改,以在他们的下一个版本中包含修复。

希望这可以帮助。

于 2012-07-07T17:00:21.207 回答