Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » FTP Connection

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.11.2005, 22:27 Uhr
codegeek



Guten Abend,

ich suche eine Möglichkeit mit Visual C++ und MFC ein kleines Programm zu erstellen, mit dem ich eine FTP Verbindung aufbauen kann und eine kleine Datei hochladen kann. Vor dem erstellen dieses Threads, habe ich natürlich ausgiebig die Suche dieses Forums benutzt, sowie bei Google gesucht
Dachte da an einen simplen Code. Habs leider noch nicht hinbekommen und keine Lösung gefunden.

Hat von euch jemand eine Lösung dafür ?
Bin dankbar für Vorschläge bzw. Beispiele (wären natürlich noch besser).


MFG
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.11.2005, 23:00 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
gib mal bei der Suchfunktion "Ftp" ein und wähle "Betreff und Post" sowie unter "In diesen Foren" VC++/MFC aus.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_cftpconnection.3a3a.cftpconnection.asp
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.11.2005, 14:24 Uhr
xXx
Devil


hmm.. bei CodeProject.com kannst de nen gutes Beispiel finden... allerdings ist das noch nicht wirklich perfekt, da es nciht das Uploaden von Ordner unterstützt... guck mal nach FTP Wanderer ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
06.11.2005, 16:58 Uhr
codegeek



So, hatte erst heute wieder Zeit mich zu melden.
Also der FTP Wanderer ist zu komplex für das was ich vorhabe.
Der MSDN Microsoft Link hat mir leider auch nicht wirklich geholfen

Hatte mir das so vorgestellt, das ich einfach ein paar Edit-Felder erstelle ihnen eine Variable zuordne, die dann für Passwort, FTP URL, Dateipfad und Name der Datei etc. stehen und man dann auf "Upload" klickt und alles seinen ganz geht.

Muss gestehen, das ich mich erst seit ein paar Monaten mit C++ beschäftige und dies mein erstes FTP "Project" ist.
Gibt es da nich einfach einen ganz ganz simplen Code für ?


MFG

Dieser Post wurde am 06.11.2005 um 16:59 Uhr von codegeek editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.11.2005, 07:32 Uhr
Tommix



Hallo,
ich hab mal was ausgegraben, was den Inhalt eines Verzeichnisses via FTP anzeigt. Ist Dir als Grundgerüst vielleicht 'ne Hilfe:

C++:
// ftp.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include <afxinet.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

static std::ostream& operator << (std::ostream& os, const CString& str)
{
    os << (const TCHAR*) str;
    return os;
}

/////////////////////////////////////////////////////////////////////////////
// Das einzige Anwendungsobjekt

CWinApp theApp;

bool FTPTest()
{
    const CString url = "ftp://wasweissich.de";
    const CString user = "tommix";
    const CString password = "ganzgeheim";

    DWORD service = AFX_INET_SERVICE_FTP;
    CString server;
    CString object;
    INTERNET_PORT port;

    AfxParseURL(url, service, server, object, port);

    CInternetSession session;
    CFtpConnection* pFTP;
    
    try
    {
        pFTP = session.GetFtpConnection(server, user, password, port);
    }
    catch (CInternetException* pEx)
    {
        pEx->ReportError();
        pEx->Delete();

        session.Close();
        return false;
    }

    CFtpFileFind ff(pFTP);

    BOOL found = ff.FindFile();

    int count = 0;
    while(found)
    {
        found = ff.FindNextFile();
        CString url = ff.GetFileURL();

        std::cout << url << std::endl;

        ++count;
    }

    std::cout << count << " files." << std::endl;

    session.Close();
    return true;
}


int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int nRetCode = 0;

    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
    {
        std::cerr << _T("Fatal Error: MFC initialization failed") << std::endl;
        nRetCode = 1;
    }
    else
    {
        FTPTest();
    }

    return nRetCode;
}


Du kannst dann mit pFTP->PutFile() bzw. GetFile() Dateien transferieren.

Gruß, Tommix

Dieser Post wurde am 07.11.2005 um 07:34 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.11.2005, 22:20 Uhr
codegeek



Habe nun ein gutes Beispielprogramm gefunden. Jetzt habe ich das Problem das ich wenn ich auf uploaden klicke, zwar eine Datei auf dem Server angelegt wird die den Namen des Bildes trägt das ich auf der Festplatte habe, aber beim öffnen des Bildes wird nichts angezeigt.
Seltsamerweise hat es am Anfang funktioniert, aber mittlerweile habe ich dieses Problem.

Hier mal der Code, vielleicht kann mir da ja jeamnd helfen


C++:
{
    CFTPclient ftp;

    UpdateData(true);

    // Hier loggt sich das Prog auf dem Server ein
    if(!ftp.LogOnToServer(m_host,m_port,m_user,m_pass,m_acct,m_fwhost,m_fwuser,m_fwpass,m_fwport,m_logontype)) {
        MessageBox(ftp.m_retmsg);
        return;
    }

    // Lädt das File auf den FTP Server
    ftp.MoveFile(m_lfile,m_rfile,m_pasv,m_put);

    // Zeigt eine Meldung nach dem Hochladen
    MessageBox(ftp.m_retmsg);

    // Disconnect vom Server
        ftp.LogOffServer();
}




in m_lfile wird der Names des Bildes eingegeben und in m_rfile ist der komplette Pfad zum Bild, also C\Eigene Bilder\....\dasbild.jpg

m_pasv und m_put benötige ich nicht, habe ich jetzt aber erstmal nicht raus gelöscht.


MFG

Dieser Post wurde am 10.11.2005 um 22:20 Uhr von codegeek editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.11.2005, 23:22 Uhr
codegeek



Kann leider nicht mehr edititieren, deswegen schreib ich jetzt hier nocheinmal. Seltsamerweise lassen sich manchen Bilddateien (jpg) hochladen und manche nicht, bzw. es wird eine datei mit dem namen erstellt aber ohne inhalt. Also eine leere Bilddatei.

Wäre sehr dankbar wenn jemand evtl. eine Fehler findet und es mir miteilt

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
11.11.2005, 05:38 Uhr
Spacelord
Hoffnungsloser Fall


Hi,
ich behaupte mal einfach dass das wohl doch kein so tolles Beispielprogramm ist.
Mit deinem Code weiter oben kann keiner was anfangen.
Interessant wäre was innerhalb von MoveFile passiert.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
11.11.2005, 17:00 Uhr
codegeek



Hab den Fehler gefunden und behoben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
12.11.2005, 21:19 Uhr
xXx
Devil


wäre schon besser wenn du dann ach sagst woran der fehler war... hilft vllt später jemanden der nach dem Topic die FOREN SUCHE buntzt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: