Может ли ServletFileUpload.parseRequest () вызываться только один раз за запрос? - PullRequest
6 голосов
/ 19 февраля 2010

Я работаю над настраиваемым SpringSecurityFilter для своего приложения Grails и пытаюсь использовать библиотеку загрузки общих ресурсов для обработки запроса. Я могу обработать запрос в фильтре, но как только он попадает в мой контроллер, ни одно из значений не доступно.

Может ли HttpRequest обрабатываться библиотекой загрузки только один раз? Я предполагаю, что это очищает временные файлы. Есть ли способ сохранить их, чтобы они могли быть обработаны снова на уровне контроллера?

Мне нужно запросить параметр формы для обеспечения безопасности (из-за клиента я не могу добавить его в заголовки http), но как только я получу значение, кажется, что он стирает запрос для дальнейшей обработки.

1 Ответ

5 голосов
/ 15 ноября 2010

Да. Запрос может быть проанализирован только один раз.

Я видел этот ответ на странице часто задаваемых вопросов Apache для FileUpload.

Вопрос: Почему parseRequest () не возвращает никаких элементов?

Ответ: «Чаще всего это происходит, когда запрос уже был проанализирован или обработан каким-либо другим способом. Поскольку входной поток уже был использован этим более ранним процессом, он больше не доступен для анализа в Commons FileUpload ".

Ссылка: http://commons.apache.org/fileupload/faq.html

...