Tcl
Tcl
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 Tcl Downloads
load ./chilkat.dll
set success 0
set rest [new_CkRest]
set bTls 1
set bAutoReconnect 1
set success [CkRest_Connect $rest "example.com" 443 $bTls $bAutoReconnect]
if {$success == 0} then {
puts [CkRest_lastErrorText $rest]
delete_CkRest $rest
exit
}
# 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.
CkRest_put_PartSelector $rest "1"
CkRest_AddHeader $rest "Content-Disposition" "form-data; name=\"field1\""
CkRest_AddHeader $rest "Content-Type" "image/png"
# Set the binary body of the selected part from a BinData.
set bdBody [new_CkBinData]
set bLoaded [CkBinData_LoadFile $bdBody "qa_data/image.png"]
if {$bLoaded != 1} then {
puts "Failed to load the part body file."
delete_CkRest $rest
delete_CkBinData $bdBody
exit
}
set success [CkRest_SetMultipartBodyBd $rest $bdBody]
if {$success == 0} then {
puts [CkRest_lastErrorText $rest]
delete_CkRest $rest
delete_CkBinData $bdBody
exit
}
set responseText [CkRest_fullRequestMultipart $rest "POST" "/api/upload"]
if {[CkRest_get_LastMethodSuccess $rest] == 0} then {
puts [CkRest_lastErrorText $rest]
delete_CkRest $rest
delete_CkBinData $bdBody
exit
}
puts "$responseText"
delete_CkRest $rest
delete_CkBinData $bdBody