К сожалению, нет простого способа решить эту проблему. У меня была похожая проблема с загрузкой изображений и людей, которые пытаются загрузить свое несжатое 24-футовое изображение своей вечеринки по случаю дня рождения их дочерей:)
Проблема в том, что вы не можете определить размер файла, пока файл не будет загружен на сервер по почте. Что приведет к тому, что сервер будет загружаться вечно и один день и в конечном итоге к истечению времени ожидания, что не делает страницу удобной для пользователя.
Единственное решение, которое я мог придумать, это загрузчик флэш-файлов, который сжимал файл на клиентском компьютере, а затем отправлял сжатый файл на сайт. Таким образом, изображение размером 200 МБ становится файлом размером 100 КБ. Есть некоторые проекты с открытым исходным кодом, просто нужно погуглить их. Это то, что делают такие сайты, как Facebook и Picasa, для загрузки документов / изображений.
Я не пробовал искать его, но, возможно, HTML5 предложит что-то, поскольку он в какой-то момент заменяет flash в ближайшем будущем.