Delphi Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Character Encoding
Digital Certificates
Digital Signatures
Email
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
RSA Encryption
S/MIME
Socket
Spider
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Byte Array
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
Bzip2
LZW
Bz2
Icon

Type Conversion

 

Article: Understanding COM References in Delphi

Upload Files to Web Server

Demonstrates how to upload files from an application to a web server. Note: There must be something provided on the server-side to consume the upload. It could be an ASP or ASP.NET script, Perl, C++ CGI, PHP, Ruby, etc,. However, uploading via HTTP is not the same as uploading via FTP where the FTP server handles receiving the file and saving to disk.

The C# code behind http://www.chilkatsoft.com/receiveUpload.aspx may be found at this URL: C# to Receive Upload in ASP.NET.

Download Chilkat HTTP ActiveX

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATHTTPLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
http: TChilkatHttp;
req: TChilkatHttpRequest;
domain: String;
port: Integer;
ssl: Integer;
resp: IChilkatHttpResponse;

begin

http := TChilkatHttp.Create(Self);

//  Any string unlocks the component for the 1st 30-days.
success := http.UnlockComponent('Anything for 30-day trial');
if (success <> 1) then
  begin
    ShowMessage(http.LastErrorText);

  end;

//  Build a HTTP request with the files to be uploaded:
req := TChilkatHttpRequest.Create(Self);
req.UseUpload();

//  The URL we'll be posting to is:
//  http://www.chilkatsoft.com/receiveUpload.aspx
//  Therefore, the path part of the URL is:
req.Path := '/receiveUpload.aspx';

//  Note: You may test uploads to this URL, but anything over 80K will be aborted on the receiving side.

//  Add some files to the request:
//  The 1st argument is an arbitrary name.  It's the POST form field name.
//  The 2nd argument is the filename currently existing on
//  the local filesystem.  It may include an absolute or relative
//  path, or no path at all if it's in the current working directory.
success := req.AddFileForUpload('file1','hamlet.xml');
if (success <> 1) then
  begin
    ShowMessage(req.LastErrorText);

  end;
success := req.AddFileForUpload('file2','dude.gif');
if (success <> 1) then
  begin
    ShowMessage(req.LastErrorText);

  end;

//  Send the HTTP POST and get the response.  Note: This is a blocking call.
//  The method does not return until the full HTTP response is received.

domain := 'www.chilkatsoft.com';
port := 80;
ssl := 0;

resp := http.SynchronousRequest(domain,port,ssl,req.DefaultInterface);
if (resp = nil ) then
  begin
    Memo1.Lines.Add(http.LastErrorText);
  end
else
  begin
    //  Display the HTML source of the page returned.
    Memo1.Lines.Add(resp.BodyStr);
  end;
end;

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2007 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · XML Parser