Upload ftp inet avec progressbar

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 676 fois - Téléchargée 35 fois

Contenu du snippet

j ai pas trouver de source qui explique comment uploader un fichier avec inet sur un ftp avec une barre de progression alors voila....

il faut
un bouton de commad : command1
2 controle inet : inet1, inet2
une progressbar : pb
un label : label1

Source / Exemple :


Private Sub Command1_Click()
Dim taille As Variant
Dim pourcent As Integer
Dim fic_source, fic_destination As String

fic_source = "c:\fichier" 'fichier a uploader"
fic_destination = "fichier" 'fichier de destination"
pb.Min = 0
pb.Max = FileLen(fic_source)
With Inet1
.Protocol = icFTP 'declaration protocole
.URL = "ftp://user:pass@Ftp" 'le ftp
End With

Inet1.Execute , "put " & fic_source & " /" & fic_destination 'envoie du fichier

Inet2.URL = Inet1.URL 'initialise inet2 : mm url

Do Until Inet1.StillExecuting = False 'boucle pendant le traitement de inet1
On Error Resume Next
    If Inet2.StillExecuting = False Then 'si inet2 n'est pas actif
        
        Inet2.Execute , "size /" & fic_destination 'demande la taille du fichier sur le ftp
        Do Until Inet2.StillExecuting = False 'boucle pendant le demande inet2
        DoEvents
        Loop
            
        taille = Inet2.GetChunk(1024) 'recuperation du size dans taille
        Do Until Inet2.StillExecuting = False 'boucle pendant le demande inet2
        DoEvents
        Loop
       
       'affichage de la progressbar
       
       pb.Value = taille 'affichage de l'avancement de pb
       pourcent = (pb.Value / pb.Max) * 100 'calcul du pourcentage reçu
       Label1.Caption = pourcent & "%" 'affichage du % du telechargement
       
    End If
Loop 
end sub

Conclusion :


voila j espere que ca va servir!!! donner moi vos commentaire!!!
PS: la progression se voit mieux avec des fichier qui ne sont pas de petite taille!!! n'oubliez pas de noter la source!!

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
18 avril 2010

Bonjour

Je fait remonter ce sujet car j'ai un petit probleme avec ton code, j'utilise un serveur free et je n'arrive pas à envoyer de fichier, il me met toujour une erreur ici :

Inet1.Execute , "put " & fic_source & "/" & fic_destination

Normalement ça devrait marcher mais je n'y arrive jamais (avec aucun des codes de ce site)

Sinon les info des fichiers sont faites comme ça :

fic_source = "C:\Documents and Settings\Administrateur\Bureau\bippeur\test.txt"
fic_destination = "test.txt"

Mon URL est bonne.
Merci de votre aide
Adam
Messages postés
36
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
9 novembre 2011

je v envoyer un fichier txt à un serveur UNIX via le réseau local
Merci d'avance pour votre aide
Messages postés
2
Date d'inscription
mardi 23 novembre 2004
Statut
Membre
Dernière intervention
5 mai 2007

Bonjour,
Merci pour cette source je men suis fortement inspiré.
Apres avoir rajouter un thread j'aimerais maintenant obtenir une progress bar

Comment fait on pour "piocher le fichier régulierement" comme cela est indiqué dans le dernier post.
Merci
Messages postés
169
Date d'inscription
vendredi 27 septembre 2002
Statut
Membre
Dernière intervention
27 février 2009
1
Il faut piocher le fichier régulièrement, mesurer sa taille par rapport à sa taille originale et d'une règle de 3 (comme disait hélène) remplir ta progress bar. (attention, ca ralenti le process).
Messages postés
2
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
4 octobre 2006

Bonjour,

Je voulais réutiliser ce code afin d'avoir une progress bar lors de mes transferts ms celle ci ne fonctionne pas j'ai l'impression qu'elle reste coincer dans une boucle (je pense qu'il s'agit de la boucle pour le transfert du fichier) puis a la fin il passe a la suivante ainsi, il me met la progress bar a 100 % et le label a 100 % mais seulement a la fin du fichier!

Savez vous d'ou provient l'erreur ?
Merci
Johnson
Afficher les 19 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.