Lua
Lua
Bandwidth Throttled Asynchronous HTTP Upload
See more Upload Examples
Demonstrates how to do an HTTP upload asynchronously in a background thread with limiting the rate to an approximate number of bytes/second. The only difference between this example and one without bandwidth throttling is that the BandwidthThrottleUp property is set.Chilkat Lua Downloads
local chilkat = require("chilkat")
local upload = chilkat.Upload.new()
-- Specify the page (ASP, ASP.NET, Perl, Python, Ruby, CGI, etc)
-- that will process the HTTP Upload.
upload.hostname = "www.mywebserver.com"
upload.path = "/receiveUpload.aspx"
-- Add one or more files to be uploaded.
upload:add_file_reference("file1", "dude.gif")
upload:add_file_reference("file2", "pigs.xml")
upload:add_file_reference("file3", "sample.doc")
-- Set the BandwidthThrottleUp property to throttle to approx 64K/second
upload.bandwidth_throttle_up = 65536
-- Begin the HTTP upload in a background thread:
local success = upload:begin_upload()
if not success then
print(upload.last_error_text)
else
print("Upload started...")
end
-- Wait for the upload to finish.
-- Print the progress as we wait...
while upload.upload_in_progress do
-- 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:
print(upload.percent_uploaded .. "% " .. upload.num_bytes_sent .. "/" .. upload.total_upload_size)
-- Sleep 2/10ths of a second.
upload:sleep_ms(200)
end
-- Did the upload succeed?
if upload.upload_success then
print("Files uploaded!")
else
print(upload.last_error_text)
end