Delphi DLL
Delphi DLL
REST File Upload (multipart/form-data)
See more REST Examples
Demonstrates how to upload a file using multipart/form-data.Chilkat Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Stream, Rest;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
rest: HCkRest;
bTls: Boolean;
port: Integer;
bAutoReconnect: Boolean;
fileStream: HCkStream;
responseBody: PWideChar;
begin
success := False;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
rest := CkRest_Create();
// Connect to the HTTP server using TLS.
bTls := True;
port := 443;
bAutoReconnect := True;
// Make sure to replace "www.chilkatsoft.com" with your domain..
success := CkRest_Connect(rest,'www.chilkatsoft.com',port,bTls,bAutoReconnect);
if (success <> True) then
begin
Memo1.Lines.Add(CkRest__lastErrorText(rest));
Exit;
end;
fileStream := CkStream_Create();
CkStream_putSourceFile(fileStream,'qa_data/jpg/starfish.jpg');
CkRest_AddHeader(rest,'Content-Type','multipart/form-data');
CkRest_putPartSelector(rest,'1');
CkRest_AddHeader(rest,'Content-Type','image/jpg');
CkRest_AddHeader(rest,'Content-Disposition','form-data; name="filename"; filename="starfish.jpg"');
CkRest_SetMultipartBodyStream(rest,fileStream);
CkRest_putPartSelector(rest,'0');
responseBody := CkRest__fullRequestMultipart(rest,'POST','/the_uri_path_to_receive_the_upload');
if (CkRest_getLastMethodSuccess(rest) <> True) then
begin
Memo1.Lines.Add(CkRest__lastErrorText(rest));
Exit;
end;
if (CkRest_getResponseStatusCode(rest) <> 200) then
begin
Memo1.Lines.Add('Received error response code: ' + IntToStr(CkRest_getResponseStatusCode(rest)));
Exit;
end;
Memo1.Lines.Add('File uploaded');
CkRest_Dispose(rest);
CkStream_Dispose(fileStream);
end;