I'd imagine uploading could be done by sending data via a stream to your server side app (php script, compiled executable or whatever) and you then write it to disk. You just need to be sure that it's hacker safe.
(i.e. don't allow people to upload a cgi-script of their choice that they can then run on your server). Uploading to a directory that has no execute permissions would be a good start.
(i.e. don't allow people to upload a cgi-script of their choice that they can then run on your server). Uploading to a directory that has no execute permissions would be a good start.