Envois d'un fichier sur ftp

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Envois d'un fichier sur ftp

Message par Fig »

Bonjour,

J'ai un soucis, je n'arrive pas à envoyer un fichier sur mon ftp free via purebasic... (ça fonctionne avec filezila pour autant)
Quelqu'un pourrait il me confirmer que cela fonctionne chez lui sur son ftp ? ou m'indiquer où je me suis trompé ?
Ca se connecte bien, mais impossible d'envoyer un faitchier... ( :mrgreen: )

Code : Tout sélectionner

InitNetwork()
host.s="Truc_bidule.free.fr"
user.s="Truc_bidule"
password.s="***********"
If OpenFTP(0,host,user, password, 0)
  a$=OpenFileRequester("Choose a text file to send", "", "*.*", 0)
  Result = SendFTPFile(0,a$,"test.txt",1)
  Repeat
    a=FTPProgress(0)
    Debug a
    Delay(300)
  Until a=-3 Or a=-2
  If a=#PB_FTP_Error:Debug "erreur":CloseFTP(0):End:EndIf
  Debug "finished"
  CloseFTP(0)
Else
  MessageRequester("Error", "Can't connect to the FTP server")
EndIf
PS: il s'agit peu ou prou du code d'exemple fournit dans la doc PB...
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Envois d'un fichier sur ftp

Message par Backup »

Sur Ftpperso il faut activer le mode Passif on !

avec ta manie d'utiliser des chiffres (0/1) au lieu de constante
j'ai mis un moment a comprendre ;)

voici le code qui marche :

Code : Tout sélectionner

InitNetwork()

Enumeration
	#Ftp
EndEnumeration

If OpenFTP(#Ftp, "ftpperso.free.fr", "****.********", "password", #true) ;
	image$=OpenFileRequester("Choose a picture to send", "", "*.*", 0)
	Result = SendFTPFile(#Ftp, image$, GetFilePart(image$), #False)
	Delay(300)
	
	Repeat
		select FTPProgress(#Ftp)
			case #PB_FTP_Started 
			debug "Le transfert de fichier est dans la phase d'initialisation."
			case #PB_FTP_Finished
			debug "Le transfert de fichier s'est terminé correctement"
			CloseFTP(#Ftp)
			Break
			case #PB_FTP_Error   
			debug "Le transfert de fichier a été interrompu car une erreur est survenue"
			CloseFTP(#Ftp)
			Break
		endselect
		
	ForEver
	
	Debug "finished"
	
	Else
	MessageRequester("Error", "Can't connect to the FTP server")
EndIf ; EPB
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Re: Envois d'un fichier sur ftp

Message par Fig »

Super !! Ca marche, merci !
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Répondre