Timestamp übertragende Dateien [Erledigt]
Moderator: Moderatoren
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Timestamp übertragende Dateien [Erledigt]
Moin,
mit HttpClient() kann ich per :getFile() Dateien herunter laden. Leider bekommen die dann den Timestamp des Herunterlade-Zeitpunkets. Kann man sowas irgendwie verhindern?
Jan
mit HttpClient() kann ich per :getFile() Dateien herunter laden. Leider bekommen die dann den Timestamp des Herunterlade-Zeitpunkets. Kann man sowas irgendwie verhindern?
Jan
Zuletzt geändert von Jan am Do, 31. Okt 2019 20:27, insgesamt 1-mal geändert.
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2129
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: Timestamp übertragende Dateien
Servus Jan,
per FtpClient():Directory() kommst an die korrekten Infos. Da gibt's auch das :getFile(). Was Du anschließend mit Erstell- und Änderungsdatum und Zeit machst, liegt an Dir.
per FtpClient():Directory() kommst an die korrekten Infos. Da gibt's auch das :getFile(). Was Du anschließend mit Erstell- und Änderungsdatum und Zeit machst, liegt an Dir.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Timestamp übertragende Dateien
Hallo Jan
das ist etwas was du selbst bauen musst. Schau dir die Antwort des Clients an. Meistens sendet der Server im Header der Antwort das änderung-Datum leider wird das Datum nicht immer übertragen. Wenn dein Server das Datum mitsendet kannst du den Header Auswerten und das Datum entsprechend selbst setzten.
Der Header sieht etwa so aus:
das ist etwas was du selbst bauen musst. Schau dir die Antwort des Clients an. Meistens sendet der Server im Header der Antwort das änderung-Datum leider wird das Datum nicht immer übertragen. Wenn dein Server das Datum mitsendet kannst du den Header Auswerten und das Datum entsprechend selbst setzten.
Der Header sieht etwa so aus:
- Dateianhänge
-
- hc_001.jpg (23.44 KiB) 8609 mal betrachtet
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2129
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: Timestamp übertragende Dateien
Auch wieder wahr. Vielleicht hat Jan ja die Alternative.
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Timestamp übertragende Dateien
Hallo,
Danke für die vielen Ideen und Vorschläge.
FTP geht leider hier nicht.
Wie baue ich in eine exe oder dll denn von Xbase++ aus den gewünschten Timestamp ein?
Jan
Danke für die vielen Ideen und Vorschläge.
FTP geht leider hier nicht.
Wie baue ich in eine exe oder dll denn von Xbase++ aus den gewünschten Timestamp ein?
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Timestamp übertragende Dateien
Was willst Du machen? Datum und Uhrzeit der empfangenen Datei ändern?
Herzlich,
Tom
Tom
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Timestamp übertragende Dateien
Tom,
mit geht es ja ansich darum, daß die übertragungenen Dateien den gleichen TImestamp tragen wie das Original. Am Liebsten wre mir dabei, wenn der Timestamp gar nicht erst geändert werden würde bei der Übertragung. Wenn das nicht geht würde ich den gerne wieder auf das Original zurück setzen.
Jan
mit geht es ja ansich darum, daß die übertragungenen Dateien den gleichen TImestamp tragen wie das Original. Am Liebsten wre mir dabei, wenn der Timestamp gar nicht erst geändert werden würde bei der Übertragung. Wenn das nicht geht würde ich den gerne wieder auf das Original zurück setzen.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Timestamp übertragende Dateien
Hallo Jan
wenn du den HttpClient() anweissen tust das Ergebnis in einem File zu speichern bekommt das File logischerweise das aktuelle Datum.
Über das Object des HTTPClients hast du Zugriff auf den Header der Antwort des Servers aus welchem du das "last-modified" Datum extrahieren kannst und damit selbst das Datum und Zeit der Datei anpassen kannst.
Das sind einige Zeilen Code, und funktioniert sehr gut.
Hast du mein Beitrag weiter oben nicht gesehen?
wenn du den HttpClient() anweissen tust das Ergebnis in einem File zu speichern bekommt das File logischerweise das aktuelle Datum.
Das ist aufgrund des HTTP Protokolls und der Übertragungsweise gar nicht möglich. Das File wird als Stream übertragen. Das Dateidatum ist nicht ind zwingend.Am Liebsten wre mir dabei, wenn der Timestamp gar nicht erst geändert werden würde bei der Übertragung.
Über das Object des HTTPClients hast du Zugriff auf den Header der Antwort des Servers aus welchem du das "last-modified" Datum extrahieren kannst und damit selbst das Datum und Zeit der Datei anpassen kannst.
Das sind einige Zeilen Code, und funktioniert sehr gut.
Hast du mein Beitrag weiter oben nicht gesehen?
Zuletzt geändert von ramses am Do, 31. Okt 2019 20:10, insgesamt 1-mal geändert.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Timestamp übertragende Dateien
Carlo,
habe ich natürlich. Das Problem ist aber nicht festzustellen, was der original Timestamp ist. Sondern der übertragenen Datei das einzupflanzen. Und da weiß ich nicht wie ich das per Xbase++ hinbekommen kann.
Jan
habe ich natürlich. Das Problem ist aber nicht festzustellen, was der original Timestamp ist. Sondern der übertragenen Datei das einzupflanzen. Und da weiß ich nicht wie ich das per Xbase++ hinbekommen kann.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Timestamp übertragende Dateien
Jan
du meinst sicher das Datum und Uhrzeit wie es im Explorer sichtbar ist?
du meinst sicher das Datum und Uhrzeit wie es im Explorer sichtbar ist?
- Dateianhänge
-
- hc_002.jpg (41.22 KiB) 8571 mal betrachtet
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Timestamp übertragende Dateien
Hallo Carlo,
oops. Die Funktion kannte ich noch nicht. Danke für den Hinweis.
Jan
oops. Die Funktion kannte ich noch nicht. Danke für den Hinweis.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: Timestamp übertragende Dateien [Erledigt]
Hallo Jan
wenn du diese Funktion nicht verwenden willst weil Sie aus den Tools ist dann hätte ich noch Xbase Code der Zeit und Datum mit dllcall's und Funktionen der kernel32.dll erledigt.
wenn du diese Funktion nicht verwenden willst weil Sie aus den Tools ist dann hätte ich noch Xbase Code der Zeit und Datum mit dllcall's und Funktionen der kernel32.dll erledigt.
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Timestamp übertragende Dateien [Erledigt]
Carlo,
das wäre nett. Sonst müßte ich alleine wegen dieser Funktion die xbtbase1.dl mit ausliefern. Wäre nicht das ganz große Problem, aber ohne halt doch etwas schlanker.
Jan
das wäre nett. Sonst müßte ich alleine wegen dieser Funktion die xbtbase1.dl mit ausliefern. Wäre nicht das ganz große Problem, aber ohne halt doch etwas schlanker.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Timestamp übertragende Dateien [Erledigt]
Moin,
für diejenigen, die etwas ähnliches brauchen: Wie Carlo schrieb braucht man dazu ja irgendwie den Timestamp, um den überhaupt setzen zu können.
Das ist recht einfach:
Jan
für diejenigen, die etwas ähnliches brauchen: Wie Carlo schrieb braucht man dazu ja irgendwie den Timestamp, um den überhaupt setzen zu können.
Das ist recht einfach:
Code: Alles auswählen
// Datei herunter laden und speichern
oHc := HttpClient():new(url + Dateiname)
oHc:getFile(lokaler Speicherort + Dateiname)
oHc:send()
// Timestamp auslesen
cTimestamp := oHc:httpresponse:getHeader("Last-Modified") ==> z. B. {"Thu, 31 Oct 2019 17:43:23 GMT"}
Zuletzt geändert von Jan am Fr, 01. Nov 2019 20:46, insgesamt 1-mal geändert.
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15710
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 73 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Timestamp übertragende Dateien [Erledigt]
um das sicher zu machen, solltest du nicht die original Datei sondern ein ZIP Archiv mit dieser Datei senden.
Beim Entpacken wird der original Zeit-/Datumswert gesetzt und eine Prüfung der korrekten Übertragung wird indirekt auch geliefert.
Beim Entpacken wird der original Zeit-/Datumswert gesetzt und eine Prüfung der korrekten Übertragung wird indirekt auch geliefert.
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Timestamp übertragende Dateien [Erledigt]
Hubert,
Du sprichst in Rätseln.
ZIP geh bei mir schlecht. Und per HttpClient() bekomme ich ja auch das Original-Datum, das ich dann nach der Übertragung manuell setzen kann.
Jan
Du sprichst in Rätseln.
ZIP geh bei mir schlecht. Und per HttpClient() bekomme ich ja auch das Original-Datum, das ich dann nach der Übertragung manuell setzen kann.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.