Télécharger un fichier depuis un serveur FTP
jojorealisateur
Messages postés
203
Date d'inscription
Statut
Membre
Dernière intervention
-
jojorealisateur Messages postés 203 Date d'inscription Statut Membre Dernière intervention -
jojorealisateur Messages postés 203 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Je souhaite ajouter une fonction à mon logiciel qui lui permet de se mettre à jour en téléchargeant un zip de mon serveur FTP.
Pour se faire, j'utilise ce code :
Le téléchargement se lance sans problèmes, mais se coupe au bout d'un certain temps et le logiciel plante...
Que puis-je faire ?
Merci !
Jojorealisateur
Je souhaite ajouter une fonction à mon logiciel qui lui permet de se mettre à jour en téléchargeant un zip de mon serveur FTP.
Pour se faire, j'utilise ce code :
Try My.Computer.Network.DownloadFile("ftp://serveurFTP", "C:\Windows\Temp\Fichier.zip", "NomUtilisateur", "MotDePasse") Me.Hide() Form3.Show() Catch ex As Exception Download() End Try
Le téléchargement se lance sans problèmes, mais se coupe au bout d'un certain temps et le logiciel plante...
Que puis-je faire ?
Merci !
Jojorealisateur
A voir également:
- Télécharger un fichier depuis un serveur FTP
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Télécharger clavier arabe - Télécharger - Divers Web & Internet
- Fichier rar - Guide
2 réponses
Bonjour,
Je ne connais rien en VB, mais je peux te suggérer une solution en batch MS-DOS :
Il suffit de télécharger cURL ici : https://curl.haxx.se/download.html
Je ne connais rien en VB, mais je peux te suggérer une solution en batch MS-DOS :
curl --output Fichier.zip -C - -# -u "user:password" "ftp://adresse:21/Fichier.zip"
Il suffit de télécharger cURL ici : https://curl.haxx.se/download.html
Bonjour,
Désolé de ne pas avoir été clair dans mon message précédant... Il est vrai que j'étais un peu fatigué quand je l'ai écrit...
Donc, pour être sûr d'être clair cette fois, voici le principe de fonctionnement de mon logiciel. Je tiens à préciser que c'est un logiciel secondaire installé en même temps que mon logiciel principal et qui permet de mettre ce dernier à jour automatiquement.
1 - Téléchargement d'un fichier zip depuis mon serveur FTP.
2 - Dé-zippage de ce fichier
NB : Le zip contient les nouveaux fichiers qui vont remplacer ceux à mettre à jour (j'espère que c'est clair... Désolé si ça ne l'est pas...)
3 - Suppression des fichiers à mettre à jour situés dans le dossier du logiciel (situé dans les "Program Files")
4 - Copie par le logiciel de mise à jour des fichiers dé-zippés vers le dossier du logiciel
5 - Mise à jour des clés de registre
6 - création d'un nouveau raccourci vers le bureau
7 - Suppression des fichiers téléchargés
Le problème se situe entre l'étape 1 et la 2. Le téléchargement se lance, mais il s'arrête après quelques kilooctets téléchargés et passe à l'étape 2.
Pour "lui dire" de passer à l'étape 2, j'ai utilisé
Ce n'est pas la bonne solution, mais c'est la seule que j'ai trouvé...
Voilà voilà...
Merci,
Jojorealisateur
Désolé de ne pas avoir été clair dans mon message précédant... Il est vrai que j'étais un peu fatigué quand je l'ai écrit...
Donc, pour être sûr d'être clair cette fois, voici le principe de fonctionnement de mon logiciel. Je tiens à préciser que c'est un logiciel secondaire installé en même temps que mon logiciel principal et qui permet de mettre ce dernier à jour automatiquement.
1 - Téléchargement d'un fichier zip depuis mon serveur FTP.
2 - Dé-zippage de ce fichier
NB : Le zip contient les nouveaux fichiers qui vont remplacer ceux à mettre à jour (j'espère que c'est clair... Désolé si ça ne l'est pas...)
3 - Suppression des fichiers à mettre à jour situés dans le dossier du logiciel (situé dans les "Program Files")
4 - Copie par le logiciel de mise à jour des fichiers dé-zippés vers le dossier du logiciel
5 - Mise à jour des clés de registre
6 - création d'un nouveau raccourci vers le bureau
7 - Suppression des fichiers téléchargés
Le problème se situe entre l'étape 1 et la 2. Le téléchargement se lance, mais il s'arrête après quelques kilooctets téléchargés et passe à l'étape 2.
Pour "lui dire" de passer à l'étape 2, j'ai utilisé
if my.computer.filesystem.fileexists ("C:\Windows\Temp\Fichier.zip") Then Form3.show Me.hide End if
Ce n'est pas la bonne solution, mais c'est la seule que j'ai trouvé...
Voilà voilà...
Merci,
Jojorealisateur
Bonjour,
Je pense que le reste du code est correct, car tout fonctionne mis à part le téléchargement.
Je pense que c'est à cause du "If exist" mentionné plus haut : dès que le fichier existe (qu'il commence à être téléchargé), le logiciel passe à l'étape suivante (et le téléchargement s'arrête).
Le problème est donc que le logiciel ne sait pas "attendre" que le téléchargement soit fini pour passer à autre chose...
J'ai essayé avec un Timer, mais si la connexion est trop lente, le logiciel passe quand même à autre chose, téléchargement fini ou non.
Si vous avez donc un truc à proposer pour "mettre en attente" le logiciel, je suis preneur à 100% !
Merci !
Jojorealisateur
Je pense que le reste du code est correct, car tout fonctionne mis à part le téléchargement.
Je pense que c'est à cause du "If exist" mentionné plus haut : dès que le fichier existe (qu'il commence à être téléchargé), le logiciel passe à l'étape suivante (et le téléchargement s'arrête).
Le problème est donc que le logiciel ne sait pas "attendre" que le téléchargement soit fini pour passer à autre chose...
J'ai essayé avec un Timer, mais si la connexion est trop lente, le logiciel passe quand même à autre chose, téléchargement fini ou non.
Si vous avez donc un truc à proposer pour "mettre en attente" le logiciel, je suis preneur à 100% !
Merci !
Jojorealisateur
Merci pour votre réponse. J'ai déjà cherché du côté du batch, mais je ne suis pas très chaud de télécharger une commande externe...
Le problème n'est pas le téléchargement en lui-même, le fichier se télécharge. Le problème est que le téléchargement se lance puis le logiciel passe directement en mode "dé-zippage" et le téléchargement s'interrompt puis le logiciel plante...
Enfin, merci beaucoup !
Jojorealisateur
Je ne comprend pas si ton 2ème paragraphe fait référence à cURL ou bien à ton problème initial.
le fichier se télécharge. Le problème est que le téléchargement se lance puis le logiciel passe directement en mode "dé-zippage" et le téléchargement s'interrompt puis le logiciel plante...
quel est le problème? le fichier est téléchargé. est-ce le dézippage que tu veux éviter? quel logiciel se plante avec quel code d'erreur ou quelle exception?