首先,抱歉,如果我的英语不好。
然后,这是我的问题:
我尝试使用PhoneGap 2.8.1为iOS制作应用程序。 Evrything在Android上运行良好,现在我只想将我的代码移到Xcode上,在iPad或iPhone上编译。 当我上传图片时,我遇到的问题是FileTransfer。传输本身没有问题,因为它完成了响应代码200,所以它是成功的。 然后,我的服务器应该返回一个由javascript代码处理的XML文件。服务器工作正常,因为我绝对没有Android设备的问题。
所以,我做了很多测试,看来应用程序成功回调或FileTransfer.upload()有问题。当我在这个回调函数中放入一个简单的console.log('success')时,它很好。但是当我尝试使用FileUploadResult对象时,没有任何反应。
最奇怪的是,当我按下iPad或iPhone的主按钮时,为了关闭我的应用程序,我看到我的所有日志都显示在调试窗口中,例如console.log(“Code =” + r.responseCode);,与PhoneGap示例中一样。在这里,我终于可以看到我实际上收到了服务器响应,但是在我关闭应用程序之前就像阻止它一样。
以下是代码的一部分:
function onPhotoDataSuccess(imageURI) {
console.log("---> Image: "+imageURI);
// File Transfer
var options = new FileUploadOptions();
options.fileKey="file";
options.chunkedMode = false;
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
var ft = new FileTransfer();
ft.upload(imageURI, encodeURI(window.localStorage.getItem("wsURL")), win, fail, options);
// Transfer succeeded
function win(r) {
console.log("Code = " + r.responseCode);
console.log("Response = " + r.response);
console.log("Sent = " + r.bytesSent);
// Handle the XML response
}
else {
alert("No response. Please retry");
}
}
// Transfer failed
function fail(error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
}
感谢您的帮助