FTP



  • ich habe ein problem mit den FTP Funktionen der API:

    HINTERNET hISession = InternetOpen("NAME",INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);
    HINTERNET hFTPSession = InternetConnect(hISession, (LPCSTR)"ftp.strato.com",INTERNET_INVALID_PORT_NUMBER, (LPCSTR)"XXX", (LPCSTR)"XXX", INTERNET_SERVICE_FTP, 0,(DWORD)0);
    FtpPutFile(hFTPSession, "file.xml", "file.xml", FTP_TRANSFER_TYPE_BINARY, 0);

    der code soll eigentlich nur eine datei auf einen FTP server laden. der Fehler dwird durch FtpPutFile verursacht....es gibt keine fehlermeldung. die funktion liedert aber FALSE zurück.



  • To get a specific error message, call GetLastError.



  • hab ich schon gemacht...da kommt 0 raus...was mich verwirrt



  • Zeigt das "Current"-Directory evtl. auf nen anderes Verzeichnis wo die "file.xml" nicht drin liegt?



  • Hast du schreib rechte auf dem ftp server??



  • unsigned short upload_file(void) 
    {
        HINTERNET hFtp = InternetOpen(TEXT("NAME"), INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
    
        if (hFtp == NULL)
            return 1; // Die Url soll stimmen? ;)
    
        hFtp = InternetConnect(hFtp, TEXT("ftp.strato.com"), INTERNET_DEFAULT_FTP_PORT,  TEXT("XXX"), TEXT("XXX"), INTERNET_SERVICE_FTP, 0, (DWORD)0);
    
        if (hFtp == NULL)
            return 2; // Es konnte keine Verbindung hergestellt werden...
    
        if (FtpPutFile(hFtp, TEXT("C:\\File.xml"), TEXT("\\file.xml"), FTP_TRANSFER_TYPE_BINARY, 0) == FALSE)
            return 3; // Datei konnte nicht hochgeladen werden.
    
        if (InternetCloseHandle(hFtp) == FALSE)
            return 4;
    
        return 0; // Alles ok
    }
    

    So ... das ist eigentlich so richtig.


Anmelden zum Antworten