Cordova FileTransfer插件参数在Android上为空



我有一个iOS的Cordova应用程序,我现在正在更新以支持Android。我已经解决了大部分问题,但FileTransfer插件在请求中不包括FileUploadOptions.params。iOS平台上的一切都很顺利。在Android中,请求被发送,一切看起来都很正常,除了到达服务器的请求没有表单字段。

我在调用upload方法之前设置了一个断点,options.params对象看起来是正确的。

我正在测试Android 4.4.3, Cordova 3.5和FileTransfer插件0.4.4。服务器正在运行Apache,并且启用了SSL。

下面是我的代码:
var options = new FileUploadOptions();
options.chunkedMode = false;
options.mimeType = 'audio/mp4';
options.fileKey = 'file';
options.fileName = filename;
options.params = {
    'siteId': siteId,
    'name': nameFld.getValue(),
    'date': sqlDate,
    'length': Math.round(storyLength)
};
options.headers={'Authorize': token};
var ft = new FileTransfer();
ft.upload(path, url, uploadSuccess, uploadFail, options);

我在这里发现了同样的问题,没有响应:Phonegap fileTransfer上传没有't POST参数

UPDATE:在这里打开了一个问题:https://issues.apache.org/jira/browse/cb - 7171

使其工作的关键设置option.headers:

options.headers = {
    Connection: "close"
}

Phonegap文件传输失败的图片在其他图片:错误码3与FileTransfer上传

我让它工作;原来我错了,文件传输成功了。由于对Android文件系统的一些困惑,我使用了错误的文件路径。

插件没有在JavaScript控制台中引发错误,并且在没有附加数据的情况下继续发出请求。当我在Dalvik调试监视器中检查了错误信息后,我就可以跟踪问题了。

我可以确认,我和你指定的最新版本有同样的问题。一个解决方案显然是使用jquery.fileupload。我还没试过呢。但是,如果成功了,我会发帖的!

最新更新