Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loRest
LOCAL lnBTls
LOCAL lnBAutoReconnect
LOCAL loSbBody
LOCAL lcResponseText

lnSuccess = 0

loRest = CreateObject('Chilkat.Rest')
lnBTls = 1
lnBAutoReconnect = 1
lnSuccess = loRest.Connect("example.com",443,lnBTls,lnBAutoReconnect)
IF (lnSuccess = 0) THEN
    ? loRest.LastErrorText
    RELEASE loRest
    CANCEL
ENDIF

*  Select the multipart part to build, and set its header fields.
loRest.PartSelector = "1"
loRest.AddHeader("Content-Disposition",'form-data; name="field1"')
loRest.AddHeader("Content-Type","application/json")

*  Set the text body of the selected part from a StringBuilder.
loSbBody = CreateObject('Chilkat.StringBuilder')
loSbBody.Append('{ "key": "value" }')
lnSuccess = loRest.SetMultipartBodySb(loSbBody)
IF (lnSuccess = 0) THEN
    ? loRest.LastErrorText
    RELEASE loRest
    RELEASE loSbBody
    CANCEL
ENDIF

lcResponseText = loRest.FullRequestMultipart("POST","/api/upload")
IF (loRest.LastMethodSuccess = 0) THEN
    ? loRest.LastErrorText
    RELEASE loRest
    RELEASE loSbBody
    CANCEL
ENDIF

? lcResponseText

RELEASE loRest
RELEASE loSbBody