Sample code for 30+ languages & platforms
Lua

FTP Upload with Progress Event Callbacks

See more FTP Examples

FTP upload with progress event callbacks.

Chilkat Lua Downloads

Lua
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 = "my_ftp_username"
ftp.password = "my_ftp_password"

-- Connect and login to the FTP server.
local success = ftp:connect()
if not success then
    print(ftp.last_error_text)
    return
end

-- Change to the remote directory where the file will be uploaded.
success = ftp:change_remote_dir("junk")
if not success then
    print(ftp.last_error_text)
    return
end

-- Upload a file.
local localPath = "c:/temp/hamlet.xml"
local remoteFilename = "hamlet.xml"

success = ftp:put_file(localPath, remoteFilename)
if not success then
    print(ftp.last_error_text)
    return
end

success = ftp:disconnect()

print("File Uploaded!")