Xbase++
Xbase++
Asynchronous HTTP Upload
See more Upload Examples
Demonstrates how to do an HTTP upload asynchronously in a background thread.A server-side C# example showing how to receive an upload is located at C# ASP.NET Code to Receive Upload
Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oUpload
nSuccess := 0
oUpload := CreateObject("Chilkat.Upload")
// Specify the page (ASP, ASP.NET, Perl, Python, Ruby, CGI, etc)
// that will process the HTTP Upload.
oUpload:Hostname := "www.mywebserver.com"
oUpload:Path := "/receiveUpload.aspx"
// Add one or more files to be uploaded.
oUpload:AddFileReference("file1", "dude.gif")
oUpload:AddFileReference("file2", "pigs.xml")
oUpload:AddFileReference("file3", "sample.doc")
// Begin the HTTP upload in a background thread:
nSuccess := oUpload:BeginUpload()
IF (nSuccess != 1)
? oUpload:LastErrorText
ELSE
? "Upload started..."
ENDIF
// Wait for the upload to finish.
// Print the progress as we wait...
DO WHILE (oUpload:UploadInProgress == 1)
// We can abort the upload at any point by calling:
// upload.AbortUpload();
// Display the percentage complete and the number of bytes uploaded so far..
// The total upload size will become set after the upload begins:
? Str(oUpload:PercentUploaded) + "% " + Str(oUpload:NumBytesSent) + "/" + Str(oUpload:TotalUploadSize)
// Sleep 2/10ths of a second.
oUpload:SleepMs(200)
ENDDO
// Did the upload succeed?
IF (oUpload:UploadSuccess == 1)
? "Files uploaded!"
ELSE
? oUpload:LastErrorText
ENDIF
oUpload:destroy()