One more thing: it is possible to upload in a manner recognised by the Media Manager without using it. This can be done using the WordPress XML-RPC interface. For example, the WordPress::API::MediaObject Perl Module wraps all the XML-RPC making it possible to easily write a script that performs an upload and spits you back a URL:
use WordPress::API::MediaObject;
...
...
my $wp = WordPress::API::MediaObject->new({
proxy => 'http://blog.example.org/xmlrpc.php',
username => 'mylogin',
password => 'somepass',
});
$wp->load_file("xyz.jpg");
$wp->upload();
print $wp->url();
On my Mac, I have a (as yet incomplete) droplet that lets me drag/drop multiple files onto it and then uploads them to my WP media manager.
This won't help if you want to use FTP or cannot wrap a UI/GUI around such code, of course.