tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
782
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Hookah Hookah ist offline Mitglied Gold
    Registriert seit
    Feb 2007
    Beiträge
    117
    So , nun hab ich meine vorherigen Problemchen gelöst
    und da kommt dann auch schon das nächste

    Mit
    Code :
    1
    2
    3
    4
    5
    6
    7
    
     
        HINTERNET hInternet;
        HINTERNET hFtpSession;
        hInternet = InternetOpen(NULL,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);
        hFtpSession = InternetConnect(hInternet,TEXT("ftp.uploaded.to") , INTERNET_DEFAULT_FTP_PORT, TEXT("bone"), TEXT("**passwort**"), INTERNET_SERVICE_FTP, 0, 0);
        
        FtpPutFile(hFtpSession, TEXT("C:\\Release.rar"), TEXT("file1.rar"), FTP_TRANSFER_TYPE_BINARY, INTERNET_FLAG_PASSIVE) ;

    lad ich nun eine Datei hoch

    Hab mal Probiert mir während des Uploads immer Upload ausgeben zu lassen mit einer while schleife und zwar so:

    Code :
    1
    2
    3
    4
    5
    
        while(FtpPutFile(hFtpSession, TEXT("C:\\Release.rar"), TEXT("file1.rar"), FTP_TRANSFER_TYPE_BINARY, INTERNET_FLAG_PASSIVE))
        {
        
            cout << "\n Upload";
        }


    Es wird lediglich nach dem hochladen ein einziges mal Upload ausgegeben.

    Gibt es da eine andere Möglichkeit?
    Und kann man herausfinden wie viel bytes schon hochgeladen wurden?

    Ich finde absolut nichts bei Google über FTP funktionen und schon gar nicht das was ich suche und langsam wirds schon peinlich das ich hier so viel stuss frage
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Siehe http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

    Da steht genau was die Funktion macht und welche Funktionen man verwenden kann falls man mehr Kontrolle über den Transfer möchte.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Hookah Hookah ist offline Mitglied Gold
    Registriert seit
    Feb 2007
    Beiträge
    117
    Du wolltest wohl auf INTERNET_STATUS_CALLBACK hinaus

    Danach hab ich dann mal gegooglet weil ich bei MSDN nur Bahnhof verstehe
    und dann was gelesen das ich noch eine callback Funktion dazu brauche
    und wie diese auszusehen hat weiss ich auch nicht

    Was ich wohl verstanden habe ist
    das ich

    Code :
    1
    2
    3
    4
    5
    
    INTERNET_STATUS_CALLBACK lpfnCallback;
     
    ...
     
    InternetSetStatusCallback(hFtpSession, lpfnCallback);

    brauche und bei InternetSetStatusCallback als ersten Parameter den Connect angeben muss und als zweiten angeben muss worin die Infos gespeichert werden

    Wie ich nun an die Infos dran komme war leider nicht ersichtlich aus den Codes die ich gefunden habe

    mit cout << lpfnCallback; bekomm ich mal 0031F40 oder 00511F40 oder andere Sachen raus und das bringt mich auch nicht weiter

    Andere frage wäre noch ob ich bei InternetOpen als letzten Parameter
    INTERNET_FLAG_ASYNC setzen muss.

    Mach ich das funktioniert aber der Upload nicht mehr - hab aber gelesen das ich das machen muss.

    Immer mehr verwirrende Sachen...

    Kannst du mir vielleicht noch ein zwei treffende Wörter geben unter denen ich eventuell etwas finden kann?
    Ich such mich duselig
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Du solltest dich informieren, was Callback Funktionen sind.

    Du mußt eine Funktion definieren, die die gleiche Signatur wie InternetStatusCallback (siehe http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx).

    Diese Funktion kannst du dann an die InternetSetStatusCallback übergeben.

    Deine Funktion würde dann automatisch aufgerufen werden wenn eine Statusänderung eintritt. (siehe http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx für ein Beispiel)

    Dir ist aber schon bewußt, das du damit nicht die Übertragung der Bytes verfolgen kannst?

    Ich bezog mich in meiner letzten Nachricht auf folgendes:
    FtpPutFile is a high-level routine that handles all the bookkeeping and overhead associated with reading a file locally and storing it on an FTP server. An application that needs to send file data only, or that requires close control over the file transfer, should use the FtpOpenFile and InternetWriteFile functions.
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Hookah Hookah ist offline Mitglied Gold
    Registriert seit
    Feb 2007
    Beiträge
    117
    Nein war mir nicht bewusst das es damit nicht geht.
    Du bist mir echt eine große Hilfe
    Mit deinen Links kann ich ja schonmal die ein oder anderen Ereignisse rausfischen was ich sowieso brauche


    Und womit ist es möglich herauszufinden wie viele Bytes schon gesendet wurden?
    Ist es überhaupt möglich?
     

  6. #6
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von Hookah Beitrag anzeigen
    Und womit ist es möglich herauszufinden wie viele Bytes schon gesendet wurden?
    Ist es überhaupt möglich?
    Wie in dem Absatz steht den ich zitiert habe, müßtest du dann die InternetWriteFile Funktion verwenden.

    Dazu mußt du die Datei öffnen (mit CreateFile oder fopen) und Stück für Stück auslesen. Die ausgelesenen Daten schreibst du dann mit InternetWriteFile in die Zieldatei auf dem FTP Server. Dann mußt du nur noch mitzählen wieviel Daten schon übertragen wurden.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Upload Und Fortschritt.
    Von mckani im Forum PHP
    Antworten: 15
    Letzter Beitrag: 11.07.11, 23:58
  2. Dateiupload-fortschritt
    Von 3dsmaxer im Forum PHP
    Antworten: 1
    Letzter Beitrag: 26.06.07, 13:23
  3. Fortschritt bei Upload anzeigen
    Von Katzenbauer im Forum .NET Web und Kommunikation
    Antworten: 9
    Letzter Beitrag: 22.02.07, 09:57
  4. Fortschritt anzeigen
    Von Nicole im Forum Visual Basic 6.0
    Antworten: 7
    Letzter Beitrag: 04.12.03, 08:10
  5. Fortschritt-Anzeige bei Datei-Upload
    Von Maikel im Forum PHP
    Antworten: 5
    Letzter Beitrag: 13.06.02, 12:26