Quelqu'un a-t-il un exemple de téléchargement avec ftp4j qui supporte le CV et comment afficher la barre de progression?Utilisez FTP4J pour reprendre la progression du téléchargement et obtenir le pourcentage de téléchargement
Répondre
Je viens d'implémenter une sorte de code suivant. J'ai découvert que Si vous utilisez les flux compressés, vous ne pouvez pas compter sur les octets transférés signalés par l'écouteur, car le serveur peut attendre d'autres données pour décoder les blocs reçus précédemment.
Même si les flux sont des plaines, dans certains cas de perte de connexion, vous ne pouvez toujours pas compter sur le nombre total d'octets transférés tel que rapporté par l'auditeur. Donc, j'ai finalement réalisé que le meilleur moyen est de demander au serveur combien d'octets il a reçu.
Dans mon modèle, la redondance temporelle est plus générale et implique la connexion de contrôle avec le serveur FTP. Vous pouvez limiter la boucle while à la connexion de données, c'est-à-dire le téléchargement.
FTPClient ftpClient = null;
long writtenBytes;
boolean isCompletedStartingDelete = false; // Our policy is overwrite at first
for (int attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
try {
ftpClient = getFTPClient();
configureFtpClient(ftpClient);
doLogin(ftpClient);
ftpClient.changeDirectory(remoteDirectory);
if (!isCompletedStartingDelete) { // Our policy is overwrite at first
try {
ftpClient.deleteFile(file);
isCompletedStartingDelete = true;
} catch (FTPException e) {
// Maybe you should check if this exception is really thrown for file not existing.
isCompletedStartingDelete = true;
}
}
try {
writtenBytes = ftpClient.fileSize(fileName);
} catch (Exception e) {
writtenBytes = 0;
}
if (ftpClient.isResumeSupported()) {
// With this template you also could use APPEND
ftpClient.upload(file, writtenBytes, listener);
} else {
ftpClient.upload(file, listener);
}
} catch (FTPAbortException e) {
// User Aborted operation
break;
} catch (Exception e) {
if (attempt == MAX_ATTEMPTS) { // Or in general lastLoop
throw e;
} else {
// Mask failure
// LOG
}
} finally {
if (ftpClient != null && ftpClient.isConnected()) {
try { ftpClient.disconnect(); } catch (Throwable t) { /* LOG */ }
}
}
- 1. ASIHttpRequest reprendre le téléchargement
- 2. Reprendre le contrôle du fichier de téléchargement
- 3. reprendre le téléchargement cassé
- 4. Windows Phone: Progression du téléchargement
- 5. Progression du téléchargement Flash
- 6. obtenir la progression du téléchargement dans dropbox (ios)
- 7. progression du téléchargement Android
- 8. progression du téléchargement de fichier
- 9. Ecrivez le pourcentage du téléchargement du fichier?
- 10. Progression du téléchargement de fichier
- 11. Progression du téléchargement Flex Multipart
- 12. Barre de progression pour le téléchargement ftp
- 13. AFNetworking - Vérifiez les octets téléchargés avant de reprendre le téléchargement du fichier?
- 14. jQuery forms Progression du téléchargement
- 15. Progression du téléchargement Google Drive
- 16. Calcul du pourcentage de progression
- 17. Comment obtenir la progression du téléchargement en utilisant $ _FILES?
- 18. cURL - informer sur la progression du téléchargement
- 19. comment reprendre le téléchargement en utilisant NSURLConnection?
- 20. la progression du téléchargement d'augmentation de la div
- 21. Reprendre le téléchargement FTP après le délai
- 22. Reprendre la fonctionnalité de téléchargement dans NSURLConnection
- 23. Comment obtenir une barre de progression de téléchargement pour urllib2?
- 24. Barre de progression Blackberry pendant le téléchargement
- 25. Tcl - Surveiller le pourcentage de téléchargement FTP
- 26. Affichage progression du téléchargement avec VBS et lot
- 27. Calculer le pourcentage de la barre de progression
- 28. Actualiser la ligne de sortie contenant le pourcentage de téléchargement
- 29. Reprendre le téléchargement du fichier dans Silverlight 4 OOB
- 30. Comment puis-je obtenir le ratio de téléchargement pour la barre de progression de téléchargement de fichier (idée pas plugin)