To use the built-in unix ftp command:
Create a single ZIP file to upload if you have more than one file to send.
Activate finder (e.g., by clicking on the desktop).
Press Cmd-Shift-U to open a finder window in the utilities directory.
Open Terminal.app.
At the shell prompt, type ftp
[email protected] (do not prepend "ftp://").
The ftp program should log in, and the remote server will likely ask for a password.
Just press enter to use a blank password, which should work, but if not use "
[email protected]" (the protocol calls for anonymous users to enter an email address as a password, but servers usually accept anything). The password will not echo back as you type.
You should get a message that begins with "230" indicating successful log-in, and an "ftp>" prompt.
Type "put" and return to initiate a file upload.
When you get the "(local file)" prompt, find the file with Finder and drag it onto the Terminal.app window, which should fill in the path and file name for you.
Activate the Terminal window and press return.
At the "(remote file)" prompt, just type in the file name without the path, enclosing it in double quotes (") if it contains spaces.
The transfer should begin, and you should see a sort of progress bar.
When finished, you can type "ls" and return to list the directory and verify the file is there and the size is correct.
To close everything gracefully, type "bye" and return to exit the ftp program, then "exit" and return to exit the shell (you may still have to quit Terminal.app).
If the server does not put you in the directory to which you can upload files, you can use the cd command to change the working directory, e.g., cd "/Path/To/File," and the ls command to view the contents of the current directory. Information about the ftp command is available by typing "man ftp" at the shell prompt. From within the ftp program, you can type "?" to list commands, "? <command>" for help on a command, and "usa <command>" for the syntax.
While it is incredibly annoying that Finder does not allow ftp upload (presumably because extended file attributes would be lost - oh no!), the ftp command in OS X is far superior to the Windows version. It works in either passive or active mode (and defaults to passive), whereas Windows is active mode only. It also shows the progress of transfers, whereas the Windows version just surprises you when it's done.
Another problem with the Finder ftp connection is that it appears to randomly choose active or passive mode (I think it can switch during the same session). I tested it extensively with 10.4.11 and 10.5.4, and could not determine how it chose to connect, it almost seemed like it grabs a character from /dev/urandom and goes passive if its odd and active if its even. If anyone has any idea about this, I'd really like to know what the story is.