AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy 10 Datei-Download Datum beibehalten
Thema durchsuchen
Ansicht
Themen-Optionen

Indy 10 Datei-Download Datum beibehalten

Ein Thema von copris · begonnen am 21. Apr 2010 · letzter Beitrag vom 22. Apr 2010
Antwort Antwort
copris

Registriert seit: 21. Apr 2010
3 Beiträge
 
Delphi 2010 Enterprise
 
#1

Indy 10 Datei-Download Datum beibehalten

  Alt 21. Apr 2010, 18:39
Hallo zusammen

Gibt es eine Einstellung, mit der das Datei-Datum beim Download beibehalten wird, oder muss ich das nachträglich wieder über die Attribute ändern. Die Datei wird nur gedownloadet, wenn das Datum dem Jahr und Monat entspricht, das der Benutzer vorher ausgewählt hat.

Der Download ist gekürzt so
Delphi-Quellcode:
    
..
  i := 3600000; // 1 Stunde
  IdFTP.ConnectTimeout := i;
  IdFTP.ReadTimeout := i;
  IdFTP.TransferTimeout := i;
  IdFTP.Connect();
..
IdFTP.List(lbList.Items, FTPString, false);
..
  lblTotal.Caption := inttostr(IdFTP.ListResult.Count-1) + ' Dateien eingelesen';
  for i := IdFTP.ListResult.Count-1 downto 0 do
    begin
      dat := IdFTP.FileDate(IDFTP.ListResult[i], true);
      if ( meYear.Text + format('%.02d', [m]) ) =
         ( inttostr(yearOf(dat)) + format('%.02d', [monthOf(dat)]) ) then
        begin
          if LocpathZ.Text = 'then zvz := LocPath.Text
                                else zvz := LocPath.Text +'\'+ inttostr(yearOf(dat))
                                     +'\'+ format('%.02d', [monthOf(dat)]);
          ForceDirectories(zvz +'\'+ FTPPath.Text);
          IdFTP.Get('/'+IDFTP.ListResult[i], zvz+'/'+IDFTP.ListResult[i], true, true);
          end;
      lblCount.Caption := inttostr(i)+' Dateien , '+IDFTP.ListResult[i] +' '+ datetostr(dat);
      lbList.Items.Delete(i);
      end;
IdFTP.Disconnect();
end;
..
Zusätzlich werden alle Dateien auf dem FTP-Server gelöscht, die älter als 2 Monate sind und auf dem Ziel bereits vorhanden sind.
Da auf dem FTP-Server ca. 10'000 XML-Dateien (1-5 kB) abgerufen werden, dauert das mitunter sehr lange.
2'300 Dateien, gesamt 4MB dauert etwa 35 Minuten. Gibt es da eine bessere Lösung?

2. Das mit dem Passiv-Mode ist mir nicht ganz klar. Wann ist dieser zu bevorzugen?

3. Gibt es eine Möglichkeit das IdFTP.List beim Einlesen nach Datum zu filtern?


Also schon mal besten Dank für eure Antworten.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#2

Re: Indy 10 Datei-Download Datum beibehalten

  Alt 21. Apr 2010, 19:52
Hallo...

Zitat:
Gibt es da eine bessere Lösung?
Wenn du dir eine XML mit den MD5 Hashes der Dateien auf dem Server anlegst, diese downloadest, die Unterschiede mit den vorhandenen abgleichst, die unterschiedlichen in eine "Downloadliste" packst und dann diese abholst.

...so als Idee

edit:
Zitat:
Die Datei wird nur gedownloadet, wenn das Datum dem Jahr und Monat entspricht, das der Benutzer vorher ausgewählt hat.
...hatte ich übersehen, daß das Datum vom Benutzer gewählt wird. Vieleicht kannst du dir eine "Dateiliste mit den Tagen" downloaden und die entsprechend filtern und downloaden
  Mit Zitat antworten Zitat
copris

Registriert seit: 21. Apr 2010
3 Beiträge
 
Delphi 2010 Enterprise
 
#3

Re: Indy 10 Datei-Download Datum beibehalten

  Alt 22. Apr 2010, 07:50
Besten Dank vorerst für die Antwort. Nur weiterhelfen tut mir das wenig.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz