Delphi ActiveX
Delphi ActiveX
Set a Multipart Part Body from a StringBuilder
See more REST Examples
Demonstrates Rest.SetMultipartBodySb, which sets the text body of the selected multipart part from a StringBuilder.
Background. A multipart request is assembled part by part: the part selector chooses the part being built, header fields describe it, and a SetMultipartBody method supplies its content. The request is then sent with a multipart send or full-request method.
Chilkat Delphi ActiveX Downloads
var
success: Integer;
rest: TChilkatRest;
bTls: Integer;
bAutoReconnect: Integer;
sbBody: TChilkatStringBuilder;
responseText: WideString;
begin
success := 0;
rest := TChilkatRest.Create(Self);
bTls := 1;
bAutoReconnect := 1;
success := rest.Connect('example.com',443,bTls,bAutoReconnect);
if (success = 0) then
begin
Memo1.Lines.Add(rest.LastErrorText);
Exit;
end;
// Select the multipart part to build, and set its header fields.
rest.PartSelector := '1';
rest.AddHeader('Content-Disposition','form-data; name="field1"');
rest.AddHeader('Content-Type','application/json');
// Set the text body of the selected part from a StringBuilder.
sbBody := TChilkatStringBuilder.Create(Self);
sbBody.Append('{ "key": "value" }');
success := rest.SetMultipartBodySb(sbBody.ControlInterface);
if (success = 0) then
begin
Memo1.Lines.Add(rest.LastErrorText);
Exit;
end;
responseText := rest.FullRequestMultipart('POST','/api/upload');
if (rest.LastMethodSuccess = 0) then
begin
Memo1.Lines.Add(rest.LastErrorText);
Exit;
end;
Memo1.Lines.Add(responseText);