Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IndyFTP: ftBinary oder ftASCII nutzen? (https://www.delphipraxis.net/141054-indyftp-ftbinary-oder-ftascii-nutzen.html)

BlueStarHH 1. Okt 2009 10:32


IndyFTP: ftBinary oder ftASCII nutzen?
 
Hallo,

jahrelange habe ich die Indy-FTP-Komponente TIdFTP mit IdFTP.TransferType := ftASCII; benutzt um HTML, PHP und EXE-Dateien auf einen Server ohne Probleme zu übertragen. Seit den Umstieg auf Delphi 2009 und die neuste Indy-Version werden damit EXE-Dateien nicht mehr richtig übertragen. D.h. sie können nicht mehr ausgeführt werden. Ich habe daher IdFTP.TransferType für alle Dateien auf ftBinary gestellt. Nun funktioniert es wieder. Gibt es einen Nachteil, wenn auch die HTML und PHP-Dateien mit ftBinary übertragen werden? Kann man nicht alles immer mit ftBinary übertragen? Wozu gibt es ftASCII, wenn das in einigen Fällen Probleme bereitet? Ich habe habe in anderen FTP-PRogrammen gesehen, dass man dort für jeden Dateityp einstellen kann, ob die binär oder als Text übertragen werden sollen. Wo ist der Sinn? Warum nicht immer binär übertragen? Danke!

Klaus01 1. Okt 2009 10:35

Re: IndyFTP: ftBinary oder ftASCII nutzen?
 
Guten Morgen,

der Ascii Übertragungsmode ist für TextDateien (asciiDateien) gedacht
soweit ich das weiß werden da die Zeileendezeichen angepasst wenn
de transfer zwischen zwei unterschiedlichen Systemen (linux, Windows)
stattfindet.

Im BinaryMode werden die Dateien 1 zu 1 übertragen.

Mich wundert das es bei dir vorher bei der Übertragung von exe Dateien
keine Probleme gab.

edit:

Zitat:

Zitat von RFC959 - File Transfer Protocol
3.1.1.1. ASCII TYPE

This is the default type and must be accepted by all FTP
implementations. It is intended primarily for the transfer
of text files, except when both hosts would find the EBCDIC
type more convenient.

The sender converts the data from an internal character
representation to the standard 8-bit NVT-ASCII
representation (see the Telnet specification). The receiver
will convert the data from the standard form to his own
internal form.

In accordance with the NVT standard, the <CRLF> sequence
should be used where necessary to denote the end of a line
of text. (See the discussion of file structure at the end
of the Section on Data Representation and Storage.)

Using the standard NVT-ASCII representation means that data
must be interpreted as 8-bit bytes.

Grüße
Klaus

mjustin 1. Okt 2009 12:06

Re: IndyFTP: ftBinary oder ftASCII nutzen?
 
Bei der mit Delphi 2009 ausgelieferten Version gab es Änderung die den FTP Transfertyp betraf, und iirc fand dazu später eine Korrektur statt (aktuell ist Version 10.5.7). Vielleicht besteht da ein Zusammenhang.

Cheers,


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