Sample code for 30+ languages & platforms
Lianja

Set a Multipart Part Body from BinData

See more REST Examples

Demonstrates Rest.SetMultipartBodyBd, which sets the binary body of the selected multipart part from a BinData.

The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.

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 Lianja Downloads

Lianja
llSuccess = .F.

loRest = createobject("CkRest")
llBTls = .T.
llBAutoReconnect = .T.
llSuccess = loRest.Connect("example.com",443,llBTls,llBAutoReconnect)
if (llSuccess = .F.) then
    ? loRest.LastErrorText
    release loRest
    return
endif

//  The file paths are relative to the application's current working directory.  Absolute paths
//  may also be used.  Supply the paths appropriate to your own environment.

//  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","image/png")

//  Set the binary body of the selected part from a BinData.
loBdBody = createobject("CkBinData")
llBLoaded = loBdBody.LoadFile("qa_data/image.png")
if (llBLoaded <> .T.) then
    ? "Failed to load the part body file."
    release loRest
    release loBdBody
    return
endif

llSuccess = loRest.SetMultipartBodyBd(loBdBody)
if (llSuccess = .F.) then
    ? loRest.LastErrorText
    release loRest
    release loBdBody
    return
endif

lcResponseText = loRest.FullRequestMultipart("POST","/api/upload")
if (loRest.LastMethodSuccess = .F.) then
    ? loRest.LastErrorText
    release loRest
    release loBdBody
    return
endif

? lcResponseText


release loRest
release loBdBody