Sample code for 30+ languages & platforms
Tcl

Example: Http.HttpFile method

Shows how to use the HttpFile method to send an HTTP POST request with the contents of a file as the request body. The example sends the following request:
POST /api/v1/sites/123/deploys HTTP/1.1
Host: example.com
Accept: */*
Accept-Encoding: gzip
Content-Type: application/zip
Content-Length: 123456

[binary data bytes of data.zip]

Also see: Chilkat Http Default and Auto-Filled Headers

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set http [new_CkHttp]

set localFilePath "C:/example/zips/data.zip"
set url "https://example.com/api/v1/sites/123/deploys"

# Send a POST with the contents of the file in the binary HTTP request body.
set resp [new_CkHttpResponse]

set success [CkHttp_HttpFile $http "POST" $url $localFilePath "application/zip" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkHttpResponse $resp
    exit
}

puts "Response Status Code: [CkHttpResponse_get_StatusCode $resp]"
puts "Response body:"
puts [CkHttpResponse_bodyStr $resp]

delete_CkHttp $http
delete_CkHttpResponse $resp