To upload through HTTP, you need to use
WebRequest.Create[
^] to create a request to your target URL, set the request content to the file, the method to POST and submit it. Server side code would then take the request and write the file content to the server file system.
Alternatively, you can use the same method with an ftp:// URL to create a
FtpWebRequest[
^], if you are trying to upload through FTP credentials.
In both cases, you want to include some kind of authentication, and preferably submit the request over SSL (i.e. use HTTPS for a HTTP upload or SFTP for an FTP one), so that other people can't trivially dump stuff on your server (at minimum that would permit DOS attacks, and probably much worse things like overwriting of data or parasitically using your host for their own sites).