2013-04-02 68 views
1

我很困惑,为什么这不起作用。我的代码如下。我做一个FileTranser.download()调用,永远不会达到成功或失败的功能。我可以看到进度console.logs,它甚至达到了1.我还可以看到调试消息,指出文件已成功从CDVDelegate类传输。在我的iPad模拟器中,我甚至可以看到该文件已创建。我无法让我的成功处理程序触发。PhoneGap 2.5 FileTransfer.download回调不会触发

我只能在PhoneGap 1.8的附近发现这个问题。这仍然是一个突出的问题,或者我认为是错误的?

谢谢

var fileName ='my-file.pdf'; 
var ft = new FileTransfer(); 
var docPath = localStorage.getItem(CONSTANTS_LOCALSTORAGE_LOCAL_FILE_PATH); 
var encodeduri = encodeURI(CONSTANTS_WEBAPI + 'Documents/GetDocument?DocFilename=' +fileName + '&DocumentType=' + documentType); 
console.log(encodeduri); 

ft.onprogress = function(progressEvent) { 
if (progressEvent.lengthComputable) { 
    console.log('download progress: '+(progressEvent.loaded/progressEvent.total)); 
} }; 

ft.download(
    encodeduri, 
    docPath+"/"+fileName, 
    function(entry){ 
    //------ Never reaches this 
    console.log('download ok: '+entry.fullPath 
    onSuccessCallback(entry); 
    }, 
    function(error) { 
     //-------or this 
     alert("download error source " + error.source); 
     alert("download error target " + error.target); 
     alert("upload error code" + error.code); 
     onFailCallback(error); 
    }, 
    false); 

回答

0

如果任何人有这个问题,我通过删除设备的应用程序,并刷新Xcode项目固定它。

+0

你是什么意思,“刷新xcode项目”。我甚至不在我的cordova项目中使用xcode,我只是让cordova在需要时调用它。 xcode或其他内容中有“刷新”选项吗?我确实尝试从设备上删除应用程序并重新启动(cordova run ios),但这并没有解决问题。 – Shawn

+0

如果您对此有可靠的解决方法,您应该通知cordova家伙,因为有关于此的公开问题:https://issues.apache.org/jira/browse/CB-6905,https://问题。 apache.org/jira/browse/CB-6525 – Shawn