FTP upload probleme



  • Hallo,
    ich habe mir eine anwendung geschrieben, die ein File auf einen FTP server hochladen soll. Folgender Code:

    bool uploadFiletoFTP(){
    
    	bool bPuFile = false;
    
        HINTERNET hOpen, hConnection;
        bool bConnect = false;
    
        hOpen = InternetOpen(_T("Upload File"), INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
    
    	if (hOpen == NULL) {
    		InternetCloseHandle(hOpen);
    		return hOpen;
    	}
    
    	hConnection = InternetConnect(hOpen, csFtpUrl , INTERNET_DEFAULT_FTP_PORT,csFtpUser, csFtpPasswd, INTERNET_SERVICE_FTP, 0, 0);
    
        bPuFile =  FtpPutFile(hConnection, csPathToFile,reinterpret_cast<LPCWSTR>(strFilename.c_str()) , FTP_TRANSFER_TYPE_ASCII, 0);
    
        if(bPuFile == true){
    		   emptyList();
    
    	}else{
    		MessageBox(NULL,_T("Keine Netzwerkverbindung."),TEXT(""),MB_ICONEXCLAMATION);
    	}
    
        InternetCloseHandle(hConnection);
        InternetCloseHandle(hOpen);
    
        return bPuFile;
    }
    

    Mein Problem dabei: mal funktioniert es und mal nicht. Es kann sein, dass es 5 mal hintereinander geht, wenn ich die Methode ausführe. Dann aber wieder nicht und ich kann keinen Zusammenhang feststellen, was das Problem ist.

    Habe ich einen Fehler gemacht, bzw könnt ihr mir Helfen das Problem herauszufinden?

    Danke.



  • FtpPutFile(hConnection, csPathToFile ,reinterpret_cast<LPCWSTR>(strFilename.c_str()) , FTP_TRANSFER_TYPE_ASCII, 0);

    Hier scheint das problem zu liegen. Ich bekommen nach einmaligem FtpPut folgende meldung: ERROR_SHARING_VIOLATION
    32 (0x20)

    The process cannot access the file because it is being used by another process.

    Bedeutet das dass ich das File nach dem Put noch schließen muss?

    Danke



  • hat sich erledigt. Das File welches ich hochladen wollte habe ich nicht korrekt geschlossen.


Anmelden zum Antworten