Delphi DLL
Delphi DLL
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 DLL Downloads
var
success: Boolean;
rest: HCkRest;
bTls: Boolean;
bAutoReconnect: Boolean;
sbBody: HCkStringBuilder;
responseText: PWideChar;
begin
success := False;
rest := CkRest_Create();
bTls := True;
bAutoReconnect := True;
success := CkRest_Connect(rest,'example.com',443,bTls,bAutoReconnect);
if (success = False) then
begin
Memo1.Lines.Add(CkRest__lastErrorText(rest));
Exit;
end;
// Select the multipart part to build, and set its header fields.
CkRest_putPartSelector(rest,'1');
CkRest_AddHeader(rest,'Content-Disposition','form-data; name="field1"');
CkRest_AddHeader(rest,'Content-Type','application/json');
// Set the text body of the selected part from a StringBuilder.
sbBody := CkStringBuilder_Create();
CkStringBuilder_Append(sbBody,'{ "key": "value" }');
success := CkRest_SetMultipartBodySb(rest,sbBody);
if (success = False) then
begin
Memo1.Lines.Add(CkRest__lastErrorText(rest));
Exit;
end;
responseText := CkRest__fullRequestMultipart(rest,'POST','/api/upload');
if (CkRest_getLastMethodSuccess(rest) = False) then
begin
Memo1.Lines.Add(CkRest__lastErrorText(rest));
Exit;
end;
Memo1.Lines.Add(responseText);
CkRest_Dispose(rest);
CkStringBuilder_Dispose(sbBody);