http://www.servlets.com/cos/faq.html
Почему при использовании com.oreilly.servlet.MultipartRequest или MultipartParser большие загрузки не выполняются?
Сами классы были специально разработаны таким образом, чтобы не ограничивать максимальный размер загрузки (в отличие от большинства других утилит загрузки файлов), но для защиты вашего сервера конструктор позволяет вам установить максимальный размер POST для принятия. Любая загрузка, превышающая лимит, прекращается. Максимальное значение по умолчанию - 1 Мег. Для обсуждения трудностей, с которыми сервер сталкивается при уведомлении клиента об ошибке, см. Обсуждение в Java Servlet Programming, 2nd Edition, стр. 119.
Итак, вы указали максимальный размер POST для принятия?
P.S. Хорошо, теперь я вижу, что небольшие загрузки вызывают проблему. В приведенной выше ссылке на часто задаваемые вопросы есть раздел, посвященный поиску и устранению неполадок при загрузке, включая некоторые полезные методы для выявления причины (клиент, браузер, веб-сервер, библиотеки). Попробуйте их.
Установите плагин Firefox (Tamper Data или Firebug), который показывает запрос, отправленный на сервер. Может помочь вам понять, отличается ли что-либо между загрузками <2M и> 2M.
P.P.S. Файлы одинаковой структуры? Может ли быть так, что меньшие имеют разные данные (например, специальные символы), которые разрушают библиотеку Flash? Попробуйте загрузить только небольшие файлы пробелов, например.