Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi idFTP VerifyFile Problem (https://www.delphipraxis.net/173130-idftp-verifyfile-problem.html)

Bambuti2000 8. Feb 2013 12:47

idFTP VerifyFile Problem
 
Hi Leuts,

ich hab ein Problem. Na klar, sonst würde ich ja nicht hier posten.
Ich hab da 'ne FTP-Consolen-Anwendung gebaut und nach dem Transfer (egal ob GET oder PUT) sollten die Transferierten Dateien aus dem Quellverzeichnis gelöscht werden. Eigentlich kein Problem, wenn ich nicht vorher per idFTP.VerifyFile() Quelle und Ziel auf Gleichheit prüfen wollte. Leider gibt mir die Funktion aber immer FALSE zurück. Ich hab schon ein bischen gestöbert und auf der ein oder anderen (in anderen mir leider unverständlichen Sprachen) Seite gleiche Probleme gefunden. Es wird wohl darüber geschrieben das der Hash mit Indy 10 ein anderes Ergebnis gibt als erwartet.
Lange Rede kurzer Sinn, gibt es eine Möglichkeit "VerifyFile" (richtig) zu nutzen?
Mache ich was falsch? Und wenn, was?

Gruß
Stefan

Klaus01 8. Feb 2013 12:50

AW: idFTP VerifyFile Problem
 
.. und Du bist Dir sicher das die Files gleich sind und nur verifyFile ein falsches Ergebnis liefert?

Was für Dateien überträgst Du (Text oder andere)?
Welchen Übertragungsmodus benutzt Du dann?

Grüße
Klaus

Bambuti2000 8. Feb 2013 15:10

AW: idFTP VerifyFile Problem
 
Es sind nur CSV-Dateien, also rein Text, und übertragen werden die natürlich im ASCII-Mode. Ich wüsste auch nicht was man da falsch machen kann. Hier mal ein Auszug:
Delphi-Quellcode:
...
TransferType := ftAscii;
...
if (ItemType = ditFile) then
begin
  Get(FileName, IncludeTrailingPathDelimiter(nDestPath) + FileName, True);
  if (VerifyFile(IncludeTrailingPathDelimiter(nDestPath) + FileName, FileName)) then
    Delete(FileName);
end;
...
Gruß
Stefan

Klaus01 8. Feb 2013 16:06

AW: idFTP VerifyFile Problem
 
.. aus der Hilfe:

Zitat:

Code:
VerifyFile can be used to determine the integrity of a file transfer using one of the following checksum algorithms:


Algorithm Description
XSHA SHA-1 checksum
XMD5 MD5 checksum
XCRC CRC-32 checksum

[B]One of the algorithms must be listed in the Capabilities for the FTP server, or VerifyFile cannot determine the checksum value on the remote FTP server.[/B]

VerifyFile selects the algorithm using the following preferred order:

Soll jetzt nichts heißen - aber mir ist nicht bekannt, dass der FTP Standard soetwas beinhaltet.

Sicher, dass das Dein FTP Server unterstützt?
Hast Du die Möglichkeit den Traffic zwischen Deinem Programm und dem FTP-Server mitzusschneiden (tshark, wireshark)?

Grüße
Klaus

Bambuti2000 8. Feb 2013 16:12

AW: idFTP VerifyFile Problem
 
OK, danke,
dann werd ich wohl nur auf die Dateigröße prüfen können. :?

Gruß
Stefan

Klaus01 8. Feb 2013 19:23

AW: idFTP VerifyFile Problem
 
Zitat:

Zitat von Bambuti2000 (Beitrag 1202638)
OK, danke,
dann werd ich wohl nur auf die Dateigröße prüfen können. :?

Gruß
Stefan

oder Du legst pro csv Datei noch ein z.B. md5 file auf den Server.
Den Hashwert kannst Du dann mit dem ermittelten der heruntergeladenen Datei vergleichen.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 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