Sample code for 30+ languages & platforms
PowerBuilder

REST File Upload (multipart/form-data)

See more REST Examples

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

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Rest
integer li_BTls
integer li_Port
integer li_BAutoReconnect
oleobject loo_FileStream
string ls_ResponseBody

li_Success = 0

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

loo_Rest = create oleobject
li_rc = loo_Rest.ConnectToNewObject("Chilkat.Rest")
if li_rc < 0 then
    destroy loo_Rest
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// Connect to the HTTP server using TLS.
li_BTls = 1
li_Port = 443
li_BAutoReconnect = 1
// Make sure to replace "www.chilkatsoft.com" with your domain..
li_Success = loo_Rest.Connect("www.chilkatsoft.com",li_Port,li_BTls,li_BAutoReconnect)
if li_Success <> 1 then
    Write-Debug loo_Rest.LastErrorText
    destroy loo_Rest
    return
end if

loo_FileStream = create oleobject
li_rc = loo_FileStream.ConnectToNewObject("Chilkat.Stream")

loo_FileStream.SourceFile = "qa_data/jpg/starfish.jpg"

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

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

ls_ResponseBody = loo_Rest.FullRequestMultipart("POST","/the_uri_path_to_receive_the_upload")
if loo_Rest.LastMethodSuccess <> 1 then
    Write-Debug loo_Rest.LastErrorText
    destroy loo_Rest
    destroy loo_FileStream
    return
end if

if loo_Rest.ResponseStatusCode <> 200 then
    Write-Debug "Received error response code: " + string(loo_Rest.ResponseStatusCode)
    destroy loo_Rest
    destroy loo_FileStream
    return
end if

Write-Debug "File uploaded"


destroy loo_Rest
destroy loo_FileStream