Я использую библиотеку Apache commons fileupload 1.4 в своем проекте Java.У меня есть HTML-часть с классической формой с вводом файла и некоторыми скрытыми полями.
У меня проблема с загрузкой файлов размером> 500ko только с Firefox> = 52
Работает хорошос файлами 10mo в Chrome или Internet Explorer.Но в Firefox у меня есть тайм-аут после ожидания нескольких минут после отправки формы.
После некоторой отладки я вижу, что код, ответственный за тайм-аут:
List<FileItem> items = (new ServletFileUpload(new DiskFileItemFactory())).parseRequest(request);
Часть спричина ожидания "parseRequest".
Я пытаюсь отладить содержимое запроса с помощью отладчика в IntelliJ, но нет способа скопировать все значение содержимого этого объекта запроса в необработанном формате.
Он работает в следующих случаях: - Firefox: версия <= 52 или размер файла <500ko (примерно, это не совсем точно) - Internet Explorer - Chrome </p>
Ограничения по размеру файла нет, похоже, это зависит отразмер запроса, потому что часть запроса на синтаксический анализ занимает слишком много времени ...
Я получаю HTTP-запрос с расширением Firefox в двух случаях.Одна генерирующая загрузка файла 3mo, которая не работает (файл запроса огромен, в 3 раза больше загруженного файла): https://code.empreintesduweb.com/13561.html
Одна генерируемая загрузка файла 200ko, который работает (файл запросаявляется небольшим): https://code.empreintesduweb.com/13560.html
На самом деле основное отличие состоит в том, что в Chrome или IE у меня нет необработанного содержимого загруженного файла в заголовках запроса:
расстаться с: obj stream .... endstream endobj
появляются только с Firefox ...