Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi FTP Download - Fehler in Datei (https://www.delphipraxis.net/136752-ftp-download-fehler-datei.html)

Markus70 8. Jul 2009 09:39

Re: FTP Download - Fehler in Datei
 
ich schau mal wie ich das hinbekomme.
Bin ab jetzt aber erstmal weg, von daher wird´s leider bis morgen früh dauern.
Gruß Markus

nahpets 8. Jul 2009 10:08

Re: FTP Download - Fehler in Datei
 
Hallo,

die defekte Datei hat als Zeilenumbruch 0D0A, die korrekte hat nur 0D.
Da modelt "unterwegs" irgendwer 0D grundsätzlich in 0D0A um, auch wenn es nicht angebracht ist.

himitsu 8. Jul 2009 10:09

Re: FTP Download - Fehler in Datei
 
du hättest die ZIP auch als ZIP anhängen können :stupid:

Zitat:

Es ist auch größer, als die Ursprüngliche Datei!
korrektes.zip.txt 4 KB und defektes.zip.txt 2 KB ... soll das jetzt beides die "selbe" Datei sein?
aber jedenfalls ist es hier genau andersrum (vom Namen her)

ansonsten sieht es so aus, als wenn mindestens die "Zeilenumbrüche" zerstört werden,

also aus #13 oder #10 wird #13#10, bzw. andersrum (aus #13#10 und #13 wird #10) ... jenachdem ob die Datei nun größer oder doch kleiner wird.


[edit] och menno

Assertor 8. Jul 2009 10:09

Re: FTP Download - Fehler in Datei
 
Hi,

Zitat:

Zitat von nahpets
Hallo,

die defekte Datei hat als Zeilenumbruch 0D0A, die korrekte hat nur 0D.
Da modelt "unterwegs" irgendwer 0D grundsätzlich in 0D0A um, auch wenn es nicht angebracht ist.

Du bist schneller. Hab ich auch gerade gesehen, an Offset 168 z.B. Sieht für mich daher so aus, als wenn der Transfer doch nicht Binary ist.

Gruß Assertor

Assertor 8. Jul 2009 11:44

Re: FTP Download - Fehler in Datei
 
Hi,

ich habe gerade mal die Datei "korrektes.zip.txt" auf einen meiner FTP Server geladen und ein leeres Testprojekt erstellt.

IdFTP auf die Form gezogen und einem Butten den folgenden Code zugewiesen:
Delphi-Quellcode:
IdFTP1.Host := '{mein host}';
IdFTP1.Connect;
IdFTP1.TransferType := ftBinary;
IdFTP1.Get('korrektes.zip.txt', 'test.txt');
Die heruntergeladene Datei ist zu 100% identisch mit der Datei auf dem Server, dies habe ich per Binärvergleich geprüft (z.B. fc).

Zitat:

Zitat von Markus70
Von daher können wir "eigentlich" alle anderen Fehlerquellen außer Indy ausschliessen.

Das würde ich ausschließen. Der einfache FTP Transfer ist Basisfunktionlität und wird hundertausendfach verwendet, das wäre sicher schon aufgefallen.

Ich würde eher tippen, es liegt am FTP Server - dieser ist wahrscheinlich falsch konfiguriert und übertragt die Datei als Ascii. Alles was ein Client in der Regel von einem Server verlangt, hier der Transfertype, ist als Bitte an den Server zu betrachten. Dieser kann er folgen, muß es aber nicht.

Gruß Assertor

Markus70 9. Jul 2009 08:29

Re: FTP Download - Fehler in Datei
 
Hi,

es ist mir ja fast ein wenig peinlich, :oops:
aber es gab da tatsächlich noch eine kleine Codezeile die den TransferType immer wieder auf ftASCII zurückgesetzt hat. :mrgreen:

nochmals Danke und Gruß
Markus

Assertor 9. Jul 2009 08:30

Re: FTP Download - Fehler in Datei
 
Hi Markus,

Zitat:

Zitat von Markus70
es ist mir ja fast ein wenig peinlich, :oops:
aber es gab da tatsächlich noch eine kleine Codezeile die den TransferType immer wieder auf ftASCII zurückgesetzt hat. :mrgreen:

Macht ja nichts, Hauptsache wir konnten helfen und der Fehler ist behoben (und es lag nicht an Indy :mrgreen:).

Gruß Assertor

H3llsing 24. Jun 2010 10:00

AW: FTP Download - Fehler in Datei
 
morgen,

ich habe Exakt das gleiche Problem.
Allerdings wird es wohl bei mir am FTP Server liegen.
ich habe den Vorschlag von Assertor grade ausprobiert und die Korrekte Zip auf einen eigenen FTP geschoben, dort wird sie korrekt heruntergeladen.

Aber leider nicht mit den Indys von dem Ursprungsserver.
Filezilla lädt die ZIP auch vom Ursprungsserver Korrekt herunter!

Frage: kann man mit den Indys einen FTBinary am Server erzwingen? Oder was macht Filezilla anders?
Delphi-Quellcode:
ftp1.TransferType := ftBinary;
ist mir bekannt und wird auch nicht auf Ascii umgeschrieben ;)


GELÖST


nun hab ichs gefunden :D
die property "UseExtensionDataPort" musste auf True gesetzt werden, damits auch bei diesem FTP klappt =)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 Uhr.
Seite 2 von 2     12   

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