Sample code for 30+ languages & platforms
Lianja

REST File Upload (multipart/form-data)

See more REST Examples

Demonstrates how to upload a file using multipart/form-data.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loRest = createobject("CkRest")

// Connect to the HTTP server using TLS.
llBTls = .T.
lnPort = 443
llBAutoReconnect = .T.
// Make sure to replace "www.chilkatsoft.com" with your domain..
llSuccess = loRest.Connect("www.chilkatsoft.com",lnPort,llBTls,llBAutoReconnect)
if (llSuccess <> .T.) then
    ? loRest.LastErrorText
    release loRest
    return
endif

loFileStream = createobject("CkStream")
loFileStream.SourceFile = "qa_data/jpg/starfish.jpg"

loRest.AddHeader("Content-Type","multipart/form-data")

loRest.PartSelector = "1"
loRest.AddHeader("Content-Type","image/jpg")
loRest.AddHeader("Content-Disposition",'form-data; name="filename"; filename="starfish.jpg"')
loRest.SetMultipartBodyStream(loFileStream)
loRest.PartSelector = "0"

lcResponseBody = loRest.FullRequestMultipart("POST","/the_uri_path_to_receive_the_upload")
if (loRest.LastMethodSuccess <> .T.) then
    ? loRest.LastErrorText
    release loRest
    release loFileStream
    return
endif

if (loRest.ResponseStatusCode <> 200) then
    ? "Received error response code: " + str(loRest.ResponseStatusCode)
    release loRest
    release loFileStream
    return
endif

? "File uploaded"


release loRest
release loFileStream