NOTE: The subject behavior is described in Request For Comment (RFC) 1867, "Form-based File Upload in HTML".

NOTE: See Form-based Device Input and Upload in HTML.

The slow performance occurs because the default Winsock Send buffer is 8 KB (kilobytes) , which roughly translates to 80 KBps (KB per second), regardless of network bandwidth.

You can cause Internet Explorer to use a larger Send buffer when communicating with Winsock:

NOTE: Make sure that REG.EXE, built into Windows XP and Windows Server 2003, or REG.EXE from the Windows 2000 Support Tools on the CD-ROM, is available on your computer.

1. Close all instances of Internet Explorer.

2. Open a CMD.EXE window.

3. Type the following command and press Enter:

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /V SocketSendBufferLength /T REG_DWORD /F /D <Buffer Size in 8 KB increments>

where <Buffer Size in 8 KB increments> should be tested with the lowest acceptable value from the following table:

16-KB Buffer = 16384
24-KB Buffer = 24576
32-KB Buffer = 32768
40-KB Buffer = 40960
48-KB Buffer = 49152
56-KB Buffer = 57344
64-KB Buffer = 65536
4. Test the upload performance.

5. If not acceptable, repeat steps 1 - 4 with the next higher buffer size.