I know that a file can be uploaded by means of using a FileReference object. However, we want to be able to handle very large files that could get up into several gigs in size. We want to send the file in chunk sizes of no more than 500 megs. I wrote a .NET application that does this. Basically it
Opens a file stream
Feeds that file stream into a BinaryReader
Create a BinaryWriter that writes to the web requests stream
for the lenght of the file grab data from file
myBytes = get x amounts of bytes from binaryReader
binaryWriter writes myBytes to the web requests stream
of course this is a very crude algorythm, but it highlights the key points. The reading of binary data from file streams and sending that binary data to a webhead via a web request objects stream. This app would run in our internal network, and yes, it has to be over HTTP because the webserver is running some sort of large file upload API that deals with large file uploads.