Télécharger un fichier depuis un serveur FTP
Fermé
jojorealisateur
Messages postés
203
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
8 juillet 2020
-
6 févr. 2019 à 19:00
jojorealisateur Messages postés 203 Date d'inscription jeudi 9 mars 2017 Statut Membre Dernière intervention 8 juillet 2020 - 4 mars 2019 à 10:28
jojorealisateur Messages postés 203 Date d'inscription jeudi 9 mars 2017 Statut Membre Dernière intervention 8 juillet 2020 - 4 mars 2019 à 10:28
A voir également:
- Télécharger un fichier depuis un serveur FTP
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Fichier iso - Guide
2 réponses
barnabe0057
Messages postés
14439
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
14 avril 2024
4 905
Modifié le 8 févr. 2019 à 22:53
Modifié le 8 févr. 2019 à 22:53
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
jojorealisateur
Messages postés
203
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
8 juillet 2020
18
10 févr. 2019 à 14:29
10 févr. 2019 à 14:29
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
yg_be
Messages postés
22696
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 avril 2024
1 471
10 févr. 2019 à 17:21
10 févr. 2019 à 17:21
pourquoi le téléchargement s’arrête-t'il? reçois-tu une exception?
comme tu montres des petits bouts de ton code, j'imagine que tu es certain que tout le reste est correct.
comme tu montres des petits bouts de ton code, j'imagine que tu es certain que tout le reste est correct.
jojorealisateur
Messages postés
203
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
8 juillet 2020
18
10 févr. 2019 à 17:52
10 févr. 2019 à 17:52
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
yg_be
Messages postés
22696
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 avril 2024
1 471
10 févr. 2019 à 17:56
10 févr. 2019 à 17:56
je suis surpris que My.Computer.Network.DownloadFile se termine avant que le téléchargement soit fini.
jojorealisateur
Messages postés
203
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
8 juillet 2020
18
10 févr. 2019 à 18:11
10 févr. 2019 à 18:11
Nous sommes donc bien d'accord que le téléchargement est censé continuer en arrière-plan ?
Si cela n'est pas possible, comment faire pour que le logiciel "attende" que le téléchargement soit fini ?
Si cela n'est pas possible, comment faire pour que le logiciel "attende" que le téléchargement soit fini ?
yg_be
Messages postés
22696
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 avril 2024
1 471
>
jojorealisateur
Messages postés
203
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
8 juillet 2020
10 févr. 2019 à 18:27
10 févr. 2019 à 18:27
je pense plutôt que le programme va rester dans l'instruction My.Computer.Network.DownloadFile jusqu'à ce que le téléchargement soit fini.
9 févr. 2019 à 20:05
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
10 févr. 2019 à 00:01
Je ne comprend pas si ton 2ème paragraphe fait référence à cURL ou bien à ton problème initial.
10 févr. 2019 à 11:17
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?