FtpPutFile



  • Hallo,
    ich möchte von einem lokalen Verzeichnis eine Datei auf einen Server hochladen. Bekomme aber als Fehler

    6 The handle is invalid.

    Dabei sollte es mit:

    Connect();
    connection_pointer=Connect::getLastConnection();
    FtpPutFile(connection_pointer, _T("C:/CPlusPlus/TxtTransfer/newbu.txt"), _T("automatic/get_bu/newbu.txt"), FTP_TRANSFER_TYPE_BINARY, 0);
    

    Hat jemand eine Idee, was verkehrt ist?



  • Morgen,
    das Problem hat sich erledigt. Wenn ich Putfile benutze funktioniert es.
    testuptload.cpp

    testupload::testupload(void)
    {	
    	Connect();
    	CFtpConnection* connection_pointer;
    	connection_pointer=Connect::getLastConnection();
    	/*if(connection_pointer->SetCurrentDirectory(_T("automatic/get_bu")))								
    		{
    			cout<<"Verzeichnis wurde mit Erfolg! gewechselt\n";*/
    			bool a;
    			a=connection_pointer->PutFile( _T("C:/CPlusPlus/TxtTransfer/newbu.txt"), _T("automatic/get_bu/newbu.txt"), FTP_TRANSFER_TYPE_BINARY, NULL);		
    			cout << GetLastError() << "\n" <<a;
    			if (a==1)
    			{
    				cout << "Upload sollte funktioniert haben";
    			}
    					else
    					{
    						DWORD dwInfo = 0; 
    						TCHAR puffer[250] = _T("");
    						DWORD dwSize = sizeof(puffer) / sizeof(TCHAR);
    						if( !InternetGetLastResponseInfo(&dwInfo, puffer, &dwSize) )
    						{
    							cout << GetLastError();
    							cout << "Aufruf InternetGetLastResponseInfo nicht erfolgreich";
    						}
    			//Fehlerbehandlung falls InternetGetLastResponseInfo nicht aufgerufen werden konnte
    							else
    							{
    								wcout << puffer;
    								cout << "Aufruf InternetGetLastResponseInfo erfolgreich";
    							}
    
    					}
    

    Connect.cpp

    LPCTSTR pstrServer = _T("proxy"); 
        INTERNET_PORT port = 21;
        BOOL bPassive = TRUE;
    
    	try
    	{
    
    	//FTP-Verbindung wird eröffnet,Methode GetFtpConnection wird auf session angewandt, 
        //connection wird auf zurückgegeben Zeiger gesetzt
    		if(connection = session.GetFtpConnection(pstrServer, LeseListe.servername, LeseListe.password, port, bPassive)) 
    			{
    			cout << "Verbindung wurde aufgebaut\n";     
    			connection_pointer=connection; 
    			}
    
    	}
    	//Fehleroutine
    	catch (CInternetException* pEx)
        {
    		cout<<"FEHLER : "<<GetLastError()<<endl;
            TCHAR sz[1024];
            pEx->GetErrorMessage(sz, 1024);
            printf_s("ERROR!  %S\n", sz);
            pEx->Delete();
         }
    
    }
    CFtpConnection * Connect::getLastConnection() 
    { 
    	return connection_pointer; 
    }
    

Anmelden zum Antworten