Announcement

Collapse
No announcement yet.

Probleme mit Dateien über 2 GByte mit idFTP

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit Dateien über 2 GByte mit idFTP

    Hallo Leute,

    zur Zeit quäle ich mich den Indy Komponenten rum...
    Mit Hilfe von idFTP lade ich Dateien auf einen Server hoch. Auf dem Server läuft FileZilla zur Entgegennahme der Dateien.
    Das alles klappt soweit ganz gut.
    Wenn ich allerdings versuche, eine ZIP-Datei größer als 2 Gbyte hoch zuladen, dann bekomme ich erstens einen Fehler in der Progressbar, weil AWorkCountMax wohl zu gross ist für Progressbar1.max.
    Der 2. Fehler ist, wenn ich die Progressbar aussen vor lasse, das nach dem Ende der Übertragung ein Timeout beim aktualisieren / lesen der Datei auftritt.
    Das Prgramm steht einfach und nach dem Timeout kommt die Fehlermeldung.
    Woran kann das liegen ?

    Gibt es eine andere Möglichkeit um so grosse Dateien auf einen FTP Server zu übertragen?

    Für Eure Hilfe wäre ich sehr sehr dankbar..

    Gerhard

  • #2
    Naja Du koenntest das mit einem normalen FTP Tool ueber die Kommandozeile machen. Allerdings kannst Du dann keinen richtigen Fortschritt im ProgressBar anzeigen. Du kannst ja vorher schon schauen wie gross das File ist und nur fuer den Fall dass das File tatsaechlich ueber 2 Gig ist den Weg ueber die Kommandozeile gehen falls der ProgressBar wirklich wichtig ist.

    Andererseits tendiere ich eher zu einheitlichen Loesungen und deswegen wuerde ich dann immer den Weg ueber die Kommandozeile gehen.

    Comment


    • #3
      Hallo Fanderif,
      über die Kommandozeile ist keine gute Idee, weil idFTP im Client integriert ist.
      Dem User ist das völlig egal wie gross die Datei ist. Er klickt einfach auf "Senden" und los gehts für den User...

      Könnte es daran liegen, das im idFTP eine Grenze drin ist, die bei 2 GByte sperrt ?
      Normale FTP Clients können doch auch Dateien senden die größer als 2 Gbyte sind.
      Verstehe das nicht so richtig oder gibts einen Parameter im idFTP, den man für große Dateien extra setzen muss ?

      Für jede Hilfe wäre ich dankbar..

      Gruss Gerhard

      Comment


      • #4
        Was die Progressbar angeht, kennst Du doch die User...
        Wenn auf dem Bildschirm nix passiert fangen sie wie wild an rum zu klicken.... :-)

        Comment


        • #5
          2 GByte klingt nach der Grenze von Int32. Die obere Grenze einer 32 Bit Zahl mit einem negativen Zahlenbereich liegt bei 2147483647 ((2 ^ (32 - 1)) - 1). Wenn Du eine groessere Datei hast versucht er vermutlich dort einen groesseren Wert hinzuschreiben und dann krachts natuerlich

          Comment


          • #6
            so scheint es zu sein, bleibt die offene Frage wo genau.
            Intressant ist, das die Datei komplett übertragen wird, das sehe ich auch im Protokoll des FTP-Servers.
            Nur warum gibt es danach einen Timeout beim Lesen einer Datei? Das kann doch nur die Datei sein, die grade übertragen wurde....
            Da stehe ich vor einem Rätsel. Solange die Datei übertragen wird, kann ich problemlos weiterarbeiten im Client.
            Wird die Dateiübertragung beendet, steht das Program einfach....
            Erst wenn die Timeout Meldung kommt, dann kann ich normal weiterarbeiten....
            Hab keine Idee momentan...

            Comment


            • #7


              Diese Meldung kommt nachdem die Übertragung beebdet ist, aber nur, wenn Die Datei größer als 2 GByte ist.....

              Neue Bitmap.jpg
              Attached Files
              Zuletzt editiert von Gerhard Wascinski; 17.03.2015, 16:17.

              Comment


              • #8
                Dise Meldung erscheint, wenn die Datei übertragen worden ist.

                Comment


                • #9
                  Nun habe ich doch die Ursache gefunden....

                  Siehe "http://codeverge.com/embarcadero.delphi.winsock/indy-10-eidreadtimeout-with-idftp/1071751".

                  Folgender Absatz war die Lösung:


                  Make sure you are using an up-to-date release of Indy 10. A new NATKeepAlive property was recently added to TIdFTP to help eal with firewalls/routers that disconnect the command connection during a long file transfer.

                  Gerhard

                  Comment


                  • #10
                    Danke für das Posten der Lösung

                    Comment

                    Working...
                    X