And with little wonder. When you send the file it's buffered in memory until it's complete. Do you have 10Gb of memory on your web server? Per user?
You really need to find a better way - even if you had the memory HTTP file transfers don't checksum, or recover from dropped connections.