Upload af fil til FTP server
Posted: 21 Jul 2011, 12:03
Jeg har noget C++ kode der uploader en binær fil til en ftp server. Koden virker fint uden firewall slået til, men når min Virgin Media firewall er slået til, bliver filen godt nok uploadet men dog uden indhold. Er der nogen der har stødt ind i lign. problem og hvordan har I evt. løst det?
Hvis jeg bruger en ganske almindelig FTP program (med min Virgin Media firewall slået til) kan jeg sagtens uploade filer til min server, så der må nærmest være noget i mit kode jeg gør forkert eller mangler. Der skal nænvnes at min firewall er sat til at acceptere mit program.
Koden jeg bruger til at uploade filen er her:
Hvis jeg bruger en ganske almindelig FTP program (med min Virgin Media firewall slået til) kan jeg sagtens uploade filer til min server, så der må nærmest være noget i mit kode jeg gør forkert eller mangler. Der skal nænvnes at min firewall er sat til at acceptere mit program.
Koden jeg bruger til at uploade filen er her:
Code: Select all
bool CNetwork::UploadFile( const char * Filename, const char * NewRemoteFile, const char * HostAddress, const char * Username, const char * Password )
{
if ( Filename != 0 && NewRemoteFile != 0 && Username != 0 && Password != 0 )
{
HINTERNET Internet = InternetOpen( 0, INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0 );
if ( Internet != 0 )
{
HINTERNET FtpSession = InternetConnect( Internet, HostAddress, INTERNET_DEFAULT_FTP_PORT, Username, Password, INTERNET_SERVICE_FTP, 0, 0 );
if ( FtpSession != 0 )
{
FtpPutFile( FtpSession, Filename, NewRemoteFile, FTP_TRANSFER_TYPE_BINARY, 0 );
if ( FtpPutFile( FtpSession, Filename, NewRemoteFile, FTP_TRANSFER_TYPE_BINARY, 0 ) )
{
InternetCloseHandle( FtpSession );
InternetCloseHandle( Internet );
return true;
}
InternetCloseHandle( FtpSession );
}
InternetCloseHandle( Internet );
}
}
return false;
}