Я озадачен тем, почему это не работает. Мой код ниже. Я делаю вызов FileTranser.download(), который никогда не достигает функций успеха или сбоя. Я вижу прогресс console.logs, и он даже достигает 1. Я также могу видеть сообщения отладки, говорящие, что файл был успешно перенесен из класса CDVDelegate. В моем iPad Simulator я даже вижу, что файл создан. Я просто не могу заставить обработчик успеха запускать.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);
Что значит «обновление проекта xcode». Я даже не использую xcode в моем проекте cordova, я просто позволяю кордоне называть его всякий раз, когда это необходимо. Есть ли опция «обновить» в xcode или что-то еще? Я попытался удалить приложение с устройства и переименовать (cordova run ios), но это не устранило проблему. – Shawn
Если у вас есть надежное решение для этого, вы должны уведомить ребята из cordova, так как есть открытые проблемы, касающиеся этого: https://issues.apache.org/jira/browse/CB-6905, https: // issues. apache.org/jira/browse/CB-6525 – Shawn