Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Indy FTP Upload - Teilweise fehlerhafte Bilder (https://www.delphipraxis.net/171387-indy-ftp-upload-teilweise-fehlerhafte-bilder.html)

MuTzE.Y85 4. Nov 2012 21:54

Indy FTP Upload - Teilweise fehlerhafte Bilder
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

ich habe ein Problem beim Upload mit Indys idFTP.

Es funktioniert alles, aber manche Bilder kommen einfach fehlerhaft an. Und es sind immer die gleichen! Ich muss diese dann manuell mit einem anderen FTP Clienten nachschieben.

Im Anhang ist mal ein Beispielbild.


Hier die Uploadprocedure:
Code:
  IdFTP.Connect;
  IdFTP.ChangeDir('files/bilder');

  try
    IdFTP.ChangeDir(Edit5.Text); // Verzeichnis wechseln
  except
    IdFTP.MakeDir(Edit5.Text); // Erstellen, wenn nicht vorhanden
    IdFTP.ChangeDir(Edit5.Text); // Dann wechseln
  end;

  for I := 0 to Thumbs.Count - 1 do // Liste mit Bildern
    begin
      IdFTP.Put(Thumbs.Strings[I], ExtractFilename(Thumbs.Strings[I])); // kleines Bild
      IdFTP.Put(Preview.Strings[I], ExtractFilename(Preview.Strings[I])); // großes Bild
    end;

  IdFTP.Disconnect;

Weiß jemand woran das liegen könnte?

sx2008 5. Nov 2012 03:50

AW: Indy FTP Upload - Teilweise fehlerhafte Bilder
 
Bei FTP werden Kommandos und Daten in verschiedenen TCP-Streams transportiert.
Es könnte nun sein, dass der FTP-Server das letzte Bild noch nicht vollständig empfangen&abgespeichert hat, da kommt schon der Disconnect.

Disconnect ist die schnelle und harte Beendigung der FTP-Verbindung.
Besser wäre hier ein
Delphi-Quellcode:
IdFTP.Quit
So sieht der Sourcecode von Quit aus.
Delphi-Quellcode:
procedure TIdFTP.Quit;
begin
  if Connected then begin
    WriteLn('QUIT');     {Do not translate}
  end;
  Disconnect;
end;

MuTzE.Y85 5. Nov 2012 06:42

AW: Indy FTP Upload - Teilweise fehlerhafte Bilder
 
Hm ich könnte das aufnehmen, wenn es sauberer ist, aber ich glaube daran liegt es nicht.

Es werden ja mehrere Bilder übertragen.
Und wenn mal eins oder mehrere fehlerhaft sind, dann waren es immer welche in der Mitte also nie das letzte.
Manchmal sind alle korrekt angekommen.
Echt eigenartig.

Klaus01 5. Nov 2012 07:21

AW: Indy FTP Upload - Teilweise fehlerhafte Bilder
 
Guten Morgen,

um festzustellen welche Bilder nicht in Ordnung sind,
könntest Du für jedes Bild eine Checksum (md5 o-ä.) bilden.
Diese vor jedem Bild übertragen und wenn das Bild angekommen ist
die empfangene Checksum mit der ermittelten des empfangenen Bildes.

Stimmt die Checksum nicht, kannst Du das Bild nochmals anfordern.

Grüße
Klaus

MuTzE.Y85 5. Nov 2012 09:09

AW: Indy FTP Upload - Teilweise fehlerhafte Bilder
 
Mhh ich fordere das Bild ja nicht an, ich schicke es raus.
Da ist es ohne erneuten Download des Bildes ja nicht möglich es zu überprüfen richtig?

Klaus01 5. Nov 2012 09:14

AW: Indy FTP Upload - Teilweise fehlerhafte Bilder
 
Zitat:

Zitat von MuTzE.Y85 (Beitrag 1189757)
Mhh ich fordere das Bild ja nicht an, ich schicke es raus.
Da ist es ohne erneuten Download des Bildes ja nicht möglich es zu überprüfen richtig?

Der Empfänger liegt nicht in Deiner Verantwortung?

Grüße
Klaus

nuclearping 5. Nov 2012 09:19

AW: Indy FTP Upload - Teilweise fehlerhafte Bilder
 
Zitat:

Zitat von Klaus01 (Beitrag 1189758)
Der Empfänger liegt nicht in Deiner Verantwortung?

Grüße
Klaus

Im Falle von TCP nicht wirklich. TCP stellt für jedes Paket den Empfang ja von selbst sicher, daher sollten Fehler bei der Übertragung ausgeschlossen sein. Nachträglich Checksummen für Dateien beim FTP-Upload zu prüfen wäre overkill und ist ja auch nicht Sinn des Protokolls.

Morphie 5. Nov 2012 09:21

AW: Indy FTP Upload - Teilweise fehlerhafte Bilder
 
Du überträgst aber schon binär, oder?
Code:
IdFTP1.TransferType := ftBinary;

Klaus01 5. Nov 2012 09:41

AW: Indy FTP Upload - Teilweise fehlerhafte Bilder
 
Zitat:

Zitat von Morphie (Beitrag 1189760)
Du überträgst aber schon binär, oder?
Code:
IdFTP1.TransferType := ftBinary;

wenn es nicht ftBinary wäre - warum sollten dann nur einige Bilder fehlerhaft übertragen worden sein?

Grüße
Klaus

Morphie 5. Nov 2012 09:53

AW: Indy FTP Upload - Teilweise fehlerhafte Bilder
 
Ich kenne die Dateien nicht. Es könnte aber sein, dass die Übertragung in seltenen Fällen auch im ASCII-Modus klappt... (gerade mit einem Bitmap getestet). Die meisten Bilder dürften aber wohl nicht richtig ankommen...


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

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