The uploading time depends on your speed of net, if it is a webapplication.
But you can use threading for uploading file. because threading is multitasking concept, so you can use it. It will make you feel that the loading is faster.
though you see this code
Stream writer = request.GetRequestStream();
byte[] bufferUploadSize = new byte[4096];
FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
int bytesRead = 0;
while ((bytesRead = fileStream.Read(bufferUploadSize,0, bufferUploadSize.Length)) != 0)
{
writer.Write(bufferUploadSize, 0, bytesRead);
}
fileStream.Close();
and make one virtual property
public virtual bool AllowWriteStreamBuffering { get; set; }
to false,
you can read msdn
link