The Chilkat FTP2 component supports restarting uploads and downloads. It only works with FTP servers that support the REST command.
To resume a transfer, set the Ftp2.RestartNext property = true before calling the method to upload or download a file.
Behind-the-scenes, restart works like this:
Upload: The FTP client (i.e. Chilkat FTP2) sends a SIZE command to get the current size of the partially uploaded file on the FTP server. (If the REST FTP command is supported by the server, then the SIZE command should also be supported. See RFC 3659) Chilkat FTP2 then sends a REST command with the current file size. The file data is then sent starting at the byte position previously indicated. (Note: this explanation is semi-technical — it does not include details about data connection establishment, active/passive issues, AUTH TLS/SSL, etc.)
Download: This is the same as upload, except that no SIZE command is required. The FTP client simply knows the size of the partially downloaded file because it exists in the local filesystem on the client…