Sample code for 30+ languages & platforms
B4X

Send a REST Request with a Binary Body

See more REST Examples

Demonstrates Rest.FullRequestBd, which sends a complete request whose binary body is read from a BinData and stores the text response body in a StringBuilder.

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. FullRequestBd is used when the request payload is binary, such as an image or other file, while the response is textual (for example a JSON acknowledgement).

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

Dim rest As ChilkatRest
rest.Initialize("rest")
Dim bTls As Boolean = True
Dim bAutoReconnect As Boolean = True
success = rest.Connect("example.com", 443, bTls, bAutoReconnect)
If success = False Then
    Log(rest.LastErrorText)
    Return
End If


'  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.

'  FullRequestBd sends a request whose binary body is read from a BinData and stores the text
'  response body in a StringBuilder.
Dim bdRequest As ChilkatBinData
bdRequest.Initialize
Dim bLoaded As Boolean = bdRequest.LoadFile("qa_data/image.png")
If bLoaded <> True Then
    Log("Failed to load the request body file.")
    Return
End If


rest.AddHeader("Content-Type", "image/png")

Dim sbResponse As ChilkatStringBuilder
sbResponse.Initialize
success = rest.FullRequestBd("PUT", "/api/images/1", bdRequest, sbResponse)
If success = False Then
    Log(rest.LastErrorText)
    Return
End If


Dim responseText As String = sbResponse.GetAsString
If sbResponse.LastMethodSuccess = False Then
    Log(sbResponse.LastErrorText)
    Return
End If

Log(responseText)