Tcl
Tcl
HTTPS Upload File to Web Server
See more HTTP Examples
Uploads a file to a web server using HTTPS.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
# The ContentType, HttpVerb, and Path properties should
# always be explicitly set.
set req [new_CkHttpRequest]
CkHttpRequest_put_HttpVerb $req "POST"
CkHttpRequest_put_Path $req "/receiveMyUpload.aspx"
CkHttpRequest_put_ContentType $req "multipart/form-data"
CkHttpRequest_AddStringForUpload $req "fileA" "fileA.txt" "This is the contents of file A" "utf-8"
set success [CkHttpRequest_AddFileForUpload $req "starfish.jpg" "qa_data/jpg/starfish.jpg"]
if {$success == 0} then {
puts [CkHttpRequest_lastErrorText $req]
delete_CkHttpRequest $req
exit
}
set http [new_CkHttp]
# ----------------------------------------------------------------------------
# IMPORTANT:
# HTTP uploads require a counterpart implementation on the server, written in any desired language
# such as C#, Classic ASP, PHP, etc., which consumes the upload being sent.
# See: ASP.NET Receive Upload
# ----------------------------------------------------------------------------
# Do the upload.
set useSslTls 1
set resp [new_CkHttpResponse]
set success [CkHttp_HttpSReq $http "www.example.com" 443 $useSslTls $req $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttpRequest $req
delete_CkHttp $http
delete_CkHttpResponse $resp
exit
}
puts "response status code = [CkHttpResponse_get_StatusCode $resp]"
puts "response body:"
puts [CkHttpResponse_bodyStr $resp]
delete_CkHttpRequest $req
delete_CkHttp $http
delete_CkHttpResponse $resp