01-20-2026, 01:12 PM
A few things to check and try:
Increase timeouts on TIdFTP (ReadTimeout, ConnectTimeout, TransferTimeout). Small files can still hit timing issues if the data channel stalls.
Ensure you’re using True Passive mode (PASV) and that the FileZilla passive port range is fully forwarded through the NAT. Partial transfers like 1300 bytes are classic NAT/passive misconfig symptoms.
Try forcing single-connection transfers and disabling any keep-alive or compression options.
Test switching between Put(..., False, -1) and explicitly setting the transfer type and block size, or try Put with True (overwrite) to rule out resume logic.
As a diagnostic step, test with Active mode or another FTP server to confirm it’s not an Indy/FileZilla interaction bug.
Indy’s FTP component is generally stable, so when only a few files fail consistently, NAT + passive ports + timeout tuning is usually the root cause.
Increase timeouts on TIdFTP (ReadTimeout, ConnectTimeout, TransferTimeout). Small files can still hit timing issues if the data channel stalls.
Ensure you’re using True Passive mode (PASV) and that the FileZilla passive port range is fully forwarded through the NAT. Partial transfers like 1300 bytes are classic NAT/passive misconfig symptoms.
Try forcing single-connection transfers and disabling any keep-alive or compression options.
Test switching between Put(..., False, -1) and explicitly setting the transfer type and block size, or try Put with True (overwrite) to rule out resume logic.
As a diagnostic step, test with Active mode or another FTP server to confirm it’s not an Indy/FileZilla interaction bug.
Indy’s FTP component is generally stable, so when only a few files fail consistently, NAT + passive ports + timeout tuning is usually the root cause.

