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.