Zum Inhalt springen

Datei kopieren auf FTP-Server


Filou

Empfohlene Beiträge

Ich habe mittlerweile etwas mehr heraus gefunden:


HINTERNET FTP;

HINTERNET TEST;


//Datei an FTP Server senden....

FTP = InternetOpen( "ftp://server.net",INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,INTERNET_FLAG_ASYNC);

TEST = InternetConnect(FTP,"ftp://server.net",21,NULL,NULL,INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,NULL);

bCheck = FtpPutFile(FTP, "c:\\test","ftp://server.net/test.txt",FTP_TRANSFER_TYPE_UNKNOWN,INTERNET_FLAG_RELOAD);


Aber es funktioniert noch nicht ganz.

InternetConnect gibt 0x0000000 zurück.

Und FtpPutFile = FALSE.

Woran könnte das noch liegen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

InternetConnect geht jetzt. das Problem war als Ziel muss man nur die IP eingeben ohne ftp://.

Aber FtpPutFile tut nicht was es soll.

Bin mir bei dem letzten Parameter nicht sicher was das soll...

Kann mir da einer helfen bitte?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/ftpputfile.asp

Link zu diesem Kommentar
Auf anderen Seiten teilen

Rückgabewert = FALSE.

GetLastError gibt mir ein "ò".

Weiß aber nicht ob ich die Funktion richtig benutzt hab.

Das habe ich nämlich noch nie *schäm*

bCheck = FtpPutFile(FTP, "D:\test.txt","test.txt",INTERNET_FLAG_TRANSFER_ASCII,INTERNET_FLAG_RELOAD);

CString csError = GetLastError();

Link zu diesem Kommentar
Auf anderen Seiten teilen

So sieht das ganze aus:


HINTERNET FTP;


FTP = InternetOpen( "[COLOR="darkred"]ftp://server.net[/COLOR]",INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,INTERNET_FLAG_ASYNC);


[COLOR="SeaGreen"]//           HANDLE,      IP, PORT, BENUTZER, PASSWORT[/COLOR]

InternetConnect(FTP, "[COLOR="darkred"]server.net[/COLOR]",21,NULL,NULL,INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE,NULL);


bCheck = FtpPutFile(FTP, "[COLOR="DarkRed"]D:\\test.txt[/COLOR]","[COLOR="darkred"]test.txt[/COLOR]",INTERNET_FLAG_TRANSFER_ASCII,[B]NULL[/B]);

Es meinst warscheinlich das Handle FTP.

Aber mir ist immer noch nicht klar was ich als letzten Parameter bei FtpPutFile eingeben muss wo jetzt NULL steht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bei InternetOpen ist der erste Parameter ja auch falsch.

Er will das hier:

lpszAgent

[in] Pointer to a null-terminated string that specifies the name of the application or entity calling the WinINet functions. This name is used as the user agent in the HTTP protocol.

Was bedeutet das denn?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 Wochen später...


HINTERNET FTP;


FTP = InternetOpen( "ftp://lalala.de",INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,INTERNET_FLAG_ASYNC);


//           HANDLE,      IP, PORT, BENUTZER, PASSWORT

InternetConnect(FTP, "lala.de",21,"username","passwort",INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE,NULL);

FtpPutFile(FTP, "D:\\lala.exe","htdocs\\lala.exe",INTERNET_FLAG_TRANSFER_ASCII,NULL);

kann mir einer erklären warum er es nicht hochläd?

Link zu diesem Kommentar
Auf anderen Seiten teilen

aber jetzt bekomm ich nen fehlercode 12003
Das ist, wie man in wininet.h nachlesen kann, ERROR_INTERNET_EXTENDED_ERROR. Die MSDN Library sagt dazu:

ERROR_INTERNET_EXTENDED_ERROR

An extended error was returned from the server. This is typically a string or buffer containing a verbose error message. Call InternetGetLastResponseInfo to retrieve the error text.

Link zu diesem Kommentar
Auf anderen Seiten teilen

es klappt eh alles, fehlercode wird 0 zurückgegeben, nur am ftp ist die datei 147 kb groß

HINTERNET hFtp = InternetOpen("ftp://server.de", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL);

cout << GetLastError( )<<endl;

hFtp = InternetConnect(hFtp, "server.de", 21, "user", "pass", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, NULL);

cout << GetLastError( )<<endl;

FtpPutFile(hFtp, "D:\\asp100.zip", "htdocs//lala.zip", FTP_TRANSFER_TYPE_BINARY, NULL);

cout << GetLastError( )<<endl;

InternetCloseHandle(hFtp);

Link zu diesem Kommentar
Auf anderen Seiten teilen

es klappt eh alles, fehlercode wird 0 zurückgegeben,
Nur am Rande: GetLastError kann man nur dann sinnvoll aufrufen, wenn vorher etwas schiefgegangen ist.

nur am ftp ist die datei 147 kb groß
Und? Ist das zu viel oder zu wenig? Wie groß ist die Quelldatei? Stimmt der Inhalt, oder steht da nur Quatsch drin?
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...