[Résolu] Fonction FTP : fichier de 0 byte

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

[Résolu] Fonction FTP : fichier de 0 byte

Message par Golfy »

Voici le code

Code : Tout sélectionner

If OpenWindow(0,200,10,300,30,"FTP auto")
  TextGadget(1,5,5,295,20,"Start")
	InitNetwork()
	
	Repeat
	  If OpenFTP(0, "ftpperso.free.fr", "golfy", "xxxxxxxx", #False)
	    If SetFTPDirectory(0, "Velbus") = 0
	      Debug "Erreur : dossier Velbus inexistant"
	      r$="Velbus/"
	    Else
	      r$ =""
	    EndIf
  	  If ExamineDirectory(0, "web\", "*.*")
  	    While NextDirectoryEntry(0)
  	     	FileName$ = DirectoryEntryName(0)
  	     	dd = ElapsedMilliseconds()
  	     	If DirectoryEntryType(0) = #PB_DirectoryEntry_File
  	     	  If Filename$ <> "Thumbs.db"
    	       	Debug FileName$+" En cours d'envoi..."
    	       	R=SendFTPFile(0,FileName$,r$+FileName$,1)
           	  Repeat
  	            Delay(100)
  	            Re = FTPProgress(0)
  	          Until Re = -3 Or Re = -2
          	  If Re = #PB_FTP_Error
          	    Debug FileName$+" Envoyé (Erreur="+Str(Re)+") en "+Str((ElapsedMilliseconds()-dd))+" msec."
          	    SetGadgetText(1,"Error with "+Filename$)
       	       Else
       	         Debug FileName$+" Envoyé en "+Str((ElapsedMilliseconds()-dd))+" msec."
       	         SetGadgetText(1,Filename$+" Sent to FTP server")
          	  EndIf
	          EndIf
  	      EndIf
  	    Wend
  		EndIf
  		Debug "finished"
  		Delay(500)
	  CloseFTP(0) 
	Else
	  MessageRequester("Error", "Can't connect to the FTP server")
	EndIf
	Debug "Attente -------------"
	dd = ElapsedMilliseconds()
	Repeat
		Event = WaitWindowEvent(1000)
	Until (ElapsedMilliseconds()-dd)/1000 > 60 Or Event = #PB_Event_CloseWindow
	Until Event = #PB_Event_CloseWindow
EndIf
Voici le lien :
http://golfy.free.fr/Velbus/

Et le problème :
Transfert OK (testé : mode synchrone ou mode assynchrone). Les variables Purebasic disent "tout est OK".
Une capture Wireshark semble dire la même chose (voir ci-dessous) et pourtant les fichier font 0 byte.
Le parefeu Windows m'a demandé s'il devait bloquer le programme : réponse NON (évidemment)

Qui aurait une idée ? dois-je attendre avant de clore la session FTP ?

Code : Tout sélectionner

220 Serveur de mise a jour des pages perso de Free.fr version [Apr 27 2011 11:43:55]
USER golfy
331 Password required for golfy.
PASS xxxxxxx
230 User golfy logged in.
CWD Velbus
250 CWD command successful.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,232,163).
STOR 71.png
150 Opening BINARY mode data connection for 71.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,97,184).
STOR 72.png
150 Opening BINARY mode data connection for 72.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,25,59).
STOR 73.png
150 Opening BINARY mode data connection for 73.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,197,79).
STOR 74.png
150 Opening BINARY mode data connection for 74.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,102,231).
STOR 75.png
150 Opening BINARY mode data connection for 75.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,241,15).
STOR 76.png
150 Opening BINARY mode data connection for 76.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,191,44).
STOR 78.png
150 Opening BINARY mode data connection for 78.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,115,195).
STOR 79.png
150 Opening BINARY mode data connection for 79.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,153,19).
STOR 7A.png
150 Opening BINARY mode data connection for 7A.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,235,27).
STOR 7B.png
150 Opening BINARY mode data connection for 7B.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,122,174).
STOR 7C.png
150 Opening BINARY mode data connection for 7C.png
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,12,129).
STOR index.html
150 Opening BINARY mode data connection for index.html
226 Transfer complete.
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,27,63,3,14,116).
STOR Thumbs.db
150 Opening BINARY mode data connection for Thumbs.db
226 Transfer complete.
OK, j'ai crié au loup trop vite : le problème vient que je ne spécifie pas le le chemin du fichier source à transférer !
Je laisse tout de même le listing car il permet de transférer un dossier complet vers un répertoire FTP
:lol:
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/