Lua
Lua
FTP Download with Progress Event Callbacks
See more FTP Examples
FTP download with progress event callbacks.Chilkat Lua Downloads
local chilkat = require("chilkat")
-- This example requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local ftp = chilkat.Ftp2.new()
ftp:set_event_handler({
percent_done = function(percentDone)
print("Percent Done: " .. percentDone)
return false -- return true to abort the method in progress
end,
progress_info = function(name, value)
print(name .. ": " .. value)
end,
})
ftp.hostname = "ftp.someFtpServer.com"
ftp.username = "myLogin"
ftp.password = "myPassword"
-- Connect and login to the FTP server.
local success = ftp:connect_only()
if not success then
print(ftp.last_error_text)
return
end
success = ftp:login_after_connect_only()
if not success then
print(ftp.last_error_text)
return
end
-- Change to the remote directory where the file is located.
-- This step is only necessary if the file is not in the home directory
-- of the FTP account.
success = ftp:change_remote_dir("junk")
if not success then
print(ftp.last_error_text)
return
end
local localFilename = "c:/temp/hamlet.xml"
local remoteFilename = "hamlet.xml"
-- Ensure that we get PercentDone callbacks.
ftp.auto_get_size_for_progress = true
-- Download the file.
success = ftp:get_file(remoteFilename, localFilename)
if not success then
print(ftp.last_error_text)
return
end
success = ftp:disconnect()
print("File Downloaded!")