www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "C/C++" - FtpPutFile
FtpPutFile < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

FtpPutFile: Frage (reagiert)
Status: (Frage) reagiert/warte auf Reaktion Status 
Datum: 08:13 Di 10.02.2009
Autor: Sir_Knum

Hallo,
ich möchte von einem lokalen Verzeichnis eine Datei auf einen Server hochladen. Bekomme aber als Fehler von GetLastError
6 The handle is invalid.

transfer.cpp
1: testupload::testupload(void)
2: {
3: Connect();
4: CFtpConnection* connection_pointer;
5: connection_pointer=Connect::getLastConnection();
6: if(connection_pointer->SetCurrentDirectory(_T("automatic/get_bu")))
7: {
8: cout<<"Verzeichnis wurde mit Erfolg! gewechselt\n";
9: bool a;
10: a=FtpPutFile(connection_pointer, _T("C:/CPlusPlus/TxtTransfer/newbu.txt"), _T("automatic/get_bu/newbu.txt"), INTERNET_FLAG_TRANSFER_BINARY, 0);
11: cout << GetLastError() << a;
12: }
13:
14: else
15: {
16:
17: DWORD dwInfo = 0; 
18: TCHAR puffer[250] = _T("");
19: DWORD dwSize = sizeof(puffer) / sizeof(TCHAR);
20: if( !InternetGetLastResponseInfo(&dwInfo, puffer, &dwSize) )
21: {
22: cout << GetLastError();
23:     cout << "Aufruf InternetGetLastResponseInfo nicht erfolgreich";
24: }
25: //Fehlerbehandlung falls InternetGetLastResponseInfo nicht aufgerufen werden konnte
26: else
27: {
28: wcout << puffer;
29: cout << "Aufruf InternetGetLastResponseInfo erfolgreich";
30: }
31:
32:
33: }
34: }


Connect.cpp
1: FtpConnection* Connect::connection_pointer=NULL;
2: CInternetSession session((_T("My FTP Session")),1, INTERNET_OPEN_TYPE_PROXY ,
3:                           (_T( "proxy")), NULL, 0);  
4:
5: Connect::Connect(void)
6: {
7:
8: //Objekt session wird erzeugt
9:
10: //Zeiger auf CFtpConnection
11: CFtpConnection *connection;
12: //Objekt der Klasse read_serverlist wird erzeugt
13: read_serverlist LeseListe;
14:
15: LPCTSTR pstrServer = _T("proxy"); 
16:     INTERNET_PORT port = 21;
17:     BOOL bPassive = TRUE;
18:
19:
20: try
21: {
22:
23: //FTP-Verbindung wird eröffnet,Methode GetFtpConnection wird auf session angewandt, 
24:     //connection wird auf zurückgegeben Zeiger gesetzt
25: if(connection = session.GetFtpConnection(pstrServer, LeseListe.servername, LeseListe.password, port, bPassive)) 
26: {
27: cout << "Verbindung wurde aufgebaut\n";     
28: connection_pointer=connection; 
29: }
30:     
31: }
32: //Fehleroutine
33: catch (CInternetException* pEx)
34:     {
35: cout<<"FEHLER : "<<GetLastError()<<endl;
36:         TCHAR sz[1024];
37:         pEx->GetErrorMessage(sz, 1024);
38:         printf_s("ERROR!  %S\n", sz);
39:         pEx->Delete();
40:      }
41:
42:
43: }
44: CFtpConnection * Connect::getLastConnection() 
45:
46: return connection_pointer; 
47: }


Wäre froh, wenn sich jemand nicht vom langen Code abschrecken lässt und sagen kann wo mein Fehler liegen könnte. Ich benutze VisualStudio und programmiere in C++

        
Bezug
FtpPutFile: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:10 Di 10.02.2009
Autor: Sir_Knum

Morgen,
das Problem hat sich erledigt. Wenn ich Putfile benutze funktioniert es.
testuptload.cpp
1: testupload::testupload(void)
2: {
3: Connect();
4: CFtpConnection* connection_pointer;
5: connection_pointer=Connect::getLastConnection();
6: /*if(connection_pointer->SetCurrentDirectory(_T("automatic/get_bu")))
7: {
8: cout<<"Verzeichnis wurde mit Erfolg! gewechselt\n";*/
9: bool a;
10: a=connection_pointer->PutFile( _T("C:/CPlusPlus/TxtTransfer/newbu.txt"), _T("automatic/get_bu/newbu.txt"), FTP_TRANSFER_TYPE_BINARY, NULL);
11: cout << GetLastError() << "\n" <<a;
12: if (a==1)
13: {
14: cout << "Upload sollte funktioniert haben";
15: }
16: else
17: {
18: DWORD dwInfo = 0; 
19: TCHAR puffer[250] = _T("");
20: DWORD dwSize = sizeof(puffer) / sizeof(TCHAR);
21: if( !InternetGetLastResponseInfo(&dwInfo, puffer, &dwSize) )
22: {
23: cout << GetLastError();
24: cout << "Aufruf InternetGetLastResponseInfo nicht erfolgreich";
25: }
26: //Fehlerbehandlung falls InternetGetLastResponseInfo nicht aufgerufen werden konnte
27: else
28: {
29: wcout << puffer;
30: cout << "Aufruf InternetGetLastResponseInfo erfolgreich";
31: }
32:
33: }


Connect.cpp
1: LPCTSTR pstrServer = _T("proxy"); 
2:     INTERNET_PORT port = 21;
3:     BOOL bPassive = TRUE;
4:
5:
6: try
7: {
8:
9: //FTP-Verbindung wird eröffnet,Methode GetFtpConnection wird auf session angewandt, 
10:     //connection wird auf zurückgegeben Zeiger gesetzt
11: if(connection = session.GetFtpConnection(pstrServer, LeseListe.servername, LeseListe.password, port, bPassive)) 
12: {
13: cout << "Verbindung wurde aufgebaut\n";     
14: connection_pointer=connection; 
15: }
16:     
17: }
18: //Fehleroutine
19: catch (CInternetException* pEx)
20:     {
21: cout<<"FEHLER : "<<GetLastError()<<endl;
22:         TCHAR sz[1024];
23:         pEx->GetErrorMessage(sz, 1024);
24:         printf_s("ERROR!  %S\n", sz);
25:         pEx->Delete();
26:      }
27:
28:
29: }
30: CFtpConnection * Connect::getLastConnection() 
31:
32: return connection_pointer; 
33: }


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]