【发布时间】:2012-07-02 00:28:55
【问题描述】:
我今天刚刚从 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 上,但是因为客户端发生了变化而破解服务器端似乎很可耻。
【问题讨论】:
-
以上代码在cordova 1.9和nodejs服务器中对我来说很好,其中
client_token是POST请求中表单数据的一部分。 -
这很奇怪。感谢您的检查。因为我只在一个地方使用代码,所以我将它切换到了 GET。我想我会将charlesproxy.com 连接到我的手机并调试实际传输的内容。
-
这段代码也适用于我;)
标签: file-upload cordova file-transfer