Это не идеальное решение, но если Вы проверяете HTTP-заголовок Довольной Длины с request.getHeader("Content-Length")
затем можно принять решение не передать весь файл.
Посредством объяснения чрезвычайно большой файл не будет передан внезапно. Необходимо было бы на самом деле открыть поток, представляющий тот блок данных POST, и читать из него для всей вещи, которая будет передана.
С другой стороны, если Вы волнуетесь по поводу атак "отказ в обслуживании", затем Вы не можете действительно доверять заголовку Довольной Длины, потому что он может легко быть подделан. В этом случае необходимо установить предел и передать передачу потоком этого файла, остановившись, как только Вы превысили тот предел.
Предложите, чтобы Вы пересмотрели решение Flash и смотрели на Загрузчик YUI, здесь:
http://developer.yahoo.com/yui/uploader/
Среди прочего fileSelect событие скажет Вам размер выбранного файла в байтах сразу после того, как это будет выбрано, но прежде чем это будет загружено, таким образом, Вы сможете ограничить соответственно.
С JSP или PHP Вы не сможете ограничить размер файла, потому что Ваша страница не получит запрос, пока загрузки уже не произошло. В той точке можно решить не сохранить файл, но это могло бы быть слишком поздно.
Существуют некоторые решения для Java там, например, MyUploader или Hermes. Некоторые даже поддерживают несколько загрузок файла и возобновления частичных загрузок, и некоторые также дают Вам исходный код. Можно также записать собственное, но это должен будет быть апплет со знаком для функционирования, потому что это должно получить доступ к локальной файловой системе. Если Вы будете использовать Apache в качестве своего веб-сервера, то Вам будет нужно достаточно RAM в Вашей машине для установки целому размеру файла в память обо всех файлах, загружаемых в установленный срок.