Sample code for 30+ languages & platforms
Pascal (Lazarus/Delphi)

Upload Files to a Web Server - Simplest Example

See more Upload Examples

This is the simplest example for uploading some files to a web server. the BlockingUpload call is synchronous and returns when the upload is finished (or failed).

A server-side C# example showing how to receive an upload is located at C# ASP.NET Code to Receive Upload

Chilkat Pascal (Lazarus/Delphi) Downloads

Pascal (Lazarus/Delphi)
program ChilkatDemo;

// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}

uses
  {$IFDEF UNIX}
  cthreads,
  {$ENDIF}
  SysUtils,
  CkDllLoader,
  Chilkat.Upload;

// ---------------------------------------------------------------------------

procedure RunDemo;
var
  success: Boolean;
  upload: TUpload;

begin
  success := False;

  upload := TUpload.Create;

  //  Specify the page (ASP, ASP.NET, Perl, Python, Ruby, CGI, etc)
  //  that will receive and process the HTTP Upload.
  upload.Hostname := 'www.mywebserver.com';
  upload.Path := '/receiveUpload.aspx';

  //  Add one or more files to be uploaded.
  upload.AddFileReference('file1','dude.gif');
  upload.AddFileReference('file2','swordfish.xml');
  upload.AddFileReference('file3','sample.doc');

  //  Do the upload.  The method returns when the upload
  //  is completed.
  //  This component also includes asynchronous upload capability,
  //  which is demonstrated in another example.
  success := upload.BlockingUpload();
  if (success <> True) then
    begin
      WriteLn(upload.LastErrorText);
    end
  else
    begin
      WriteLn('Files uploaded!');
    end;


  upload.Free;

end;

// ---------------------------------------------------------------------------

begin

  try
    RunDemo;
  except
    on E: Exception do
      WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
  end;

  WriteLn;
  {$IFDEF MSWINDOWS}
  WriteLn('Press Enter to exit...');
  ReadLn;
  {$ENDIF}
end.