1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| void SendFileFtp ( HWND hDlgSend, char DirFile[MAIN_LEN+1], char DirRep[MAIN_LEN+1] )
{
/* Déclaration des variables */
/* init des variables */
char *Buffer = (char *) calloc(sizeof (char), MAIN_LEN+1);
char DirNameFileIni[MAIN_LEN+1]="";
char NameServeurFtp[MAIN_LEN+1]="";
char LoginFtp[MAIN_LEN+1]="";
char PwdFtp[MAIN_LEN+1]="";
bool ResultFtp;
char DirToRecupFile[MAIN_LEN+1]="";
/* Les handles */
HINTERNET hInternetSession; /* handle to internet connection */
HINTERNET hFTPSession; /* handle to FTP session */
/* Chemin complet du fichier de destination */
strcpy (DirToRecupFile,DirRep);
strcat (DirToRecupFile,"\\");
strcat (DirToRecupFile,DirFile);
/* Récupération du chemin du fichier ini */
GetFullPathName( NameFileIni, MAIN_LEN+1, Buffer, NULL);
strcpy ( DirNameFileIni,Buffer );
/* Récupération des params */
GetPrivateProfileString ( "FTP" , "NAME_SERVEUR_FTP" , "" , NameServeurFtp , MAIN_LEN+1 , DirNameFileIni );
GetPrivateProfileString ( "FTP" , "LOGIN_FTP" , "" , LoginFtp , MAIN_LEN+1 , DirNameFileIni );
GetPrivateProfileString ( "FTP" , "PWD_FTP" , "" , PwdFtp , MAIN_LEN+1 , DirNameFileIni );
/* Ouverture de la connexion */
hInternetSession = InternetOpen ( NameApp , INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
if ( hInternetSession == NULL )
{
/* Erreur dans l'ouverture de la connexion */
WriteInLogFile ( "Erreur dans l'ouverture de la connexion <InternetOpen>" );
exit;
}
/* Connexion au serveur FTP */
hFTPSession = InternetConnect ( hInternetSession, NameServeurFtp, INTERNET_DEFAULT_FTP_PORT, LoginFtp, PwdFtp, INTERNET_SERVICE_FTP, 0, 0);
if ( !hFTPSession )
{
WriteInLogFile ( "Erreur dans l'ouverture de la connexion ftp <InternetConnect>" );
exit;
}
else
{
// Réception du fichier FTP
ResultFtp = FtpGetFile ( hFTPSession, DirFile, DirToRecupFile, NULL, NULL,FTP_TRANSFER_TYPE_ASCII, NULL);
if ( ResultFtp )
{
MessageBox( hDlgSend ,"Opération terminée avec succès !!!!","Information",MB_OK|MB_ICONINFORMATION);
}
else
{
MessageBox( hDlgSend ,"Erreur dans la réception du fichier, consultez le fichier de trace !!!!","Erreur",MB_OK|MB_ICONWARNING);
}
/* Fermeture de la connexion ftp */
InternetCloseHandle ( hFTPSession );
}
/* Fermeture de la session */
InternetCloseHandle ( hInternetSession );
return;
} |