2014-09-24 2 views
1

Обработчик события onprogress никогда не называется. Обратный вызов успеха приходит через штраф, и загрузка работает. Что-то я здесь делаю неправильно?FileTransfer onprogress не работает - PhoneGap 3.5.0

filesystem.root.getFile('/path/to/file', { create: true }, function (file) { 

    var transfer = new FileTransfer(); 

    transfer.onprogress = function() { 
     console.log(arguments); 
    }; 

    transfer.download(
     'http://example.com/path/to/file', 
     file.toURL(), 
     function() { console.log('success'); }, 
     function() { console.log('error'); }, 
     true 
    ); 

}, function() { console.log('error'); }); 

Приложение использует PhoneGap 3.5.0 с новейшими файловыми и файловыми плагинами. Я проверяю на IPad с прошивкой 8.

ответ

0

Вы, кажется, пропуская аргументы переменную по определению функции в OnProgress.

Оно должно быть:

transfer.onprogress = function (progressEvent) { 
    console.log(progressEvent); 
    console.log(progressEvent.loaded); //Loaded bytes 
    console.log(progressEvent.total); //Total bytes 
    console.log(progressEvent.lengthComputable); //TRUE if the destination server informs total file length 
}; 

Вы можете найти документацию здесь: http://docs.phonegap.com/en/edge/cordova_file_file.md.html#FileTransfer

Надеется, что это помогает!

+1

Функция onprogress не запускается в моем приложении. Это то же самое, что и в приведенных примерах. Есть идеи? Cordova 6.3.1 - Передача файла 1.5.1 –

+1

Это, по-видимому, известная ошибка в плагине передачи файлов Apache, см. Https://issues.apache.org/jira/browse/CB-9936 – tonesforchris

+0

@tonesforchris есть решение за ошибку? Я следил за вашей ссылкой, но обсуждение там не выглядело так, чтобы получить какие-либо результаты. –

Смежные вопросы