Sample code for 30+ languages & platforms
Delphi ActiveX

Append to Existing File on FTP Server

See more FTP Examples

Uploads a file to the FTP server. If the remote file (on the FTP server) does not already exist, it is created. Otherwise the uploaded file is appended to the remote file.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
ftp: TChilkatFtp2;
localFilePath: WideString;
remoteFilename: WideString;

begin
success := 0;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

ftp := TChilkatFtp2.Create(Self);

ftp.Hostname := 'ftp.myftpserver.com';
ftp.Username := 'myUsername';
ftp.Password := 'myPassword';

// Connect to the FTP server.
success := ftp.ConnectOnly();
if (success <> 1) then
  begin
    Memo1.Lines.Add(ftp.LastErrorText);
    Exit;
  end;

// Authenticate with the FTP server.
success := ftp.LoginAfterConnectOnly();
if (success <> 1) then
  begin
    Memo1.Lines.Add(ftp.LastErrorText);
    Exit;
  end;

localFilePath := '/someDirectory/hamlet.xml';
remoteFilename := 'hamlet.xml';

// Upload to the FTP server, creating the file if it does not yet exist
// on the FTP server, or appending to the remote file if it already exists.
success := ftp.AppendFile(localFilePath,remoteFilename);
if (success <> 1) then
  begin
    Memo1.Lines.Add(ftp.LastErrorText);
    Exit;
  end;

ftp.Disconnect();

Memo1.Lines.Add('Success.');
end;