(для Flash) Разбить файл на куски фиксированного размера (возможно, 10-50 МБ каждый) байтовых массивов во Flash-клиенте, что не слишком сложно для класса ByteArray.
Теперь вы можете загружать каждый чанк, и сервер может ломать их вместе. Еще одним плюсом является то, что если клиент когда-либо отключается, сервер знает, какие части этого файла пользователь уже отправил, и пользователь может просто продолжить почти с того места, где он ушел.
Вы можете даже отправлять несколько чанков одновременно (от 2 до 4, каждый браузер имеет различное максимальное число подключений), улучшая использование сети.