我有一个适用于 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 upload doesn't POST params
更新:在这里打开了一个问题: https://issues.apache.org/jira/browse/CB-7171
最佳答案
让它工作的关键是设置option.headers
:
options.headers = {
Connection: "close"
}
关于javascript - Cordova FileTransfer 插件参数在 Android 上为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24842830/