Я использую Commons FileUpload как часть пользовательской реализации загрузчика. В частности, я использую ServletFileUpload и потоковый API (http://commons.apache.org/fileupload/streaming.html). API для метода getItemIterator () в ServletFileUpload говорит, что он гарантированно возвращает итератор FileItemStreams в порядке, в котором они были переданы . Может быть, это глупый вопрос, но при отправке формы HTML этот порядок гарантированно соответствует порядку, в котором входные данные формы HTML существуют на соответствующей странице HTML? Пока, похоже, это так, но мне нужно убедиться, что это гарантированное поведение.
Пример:
<form method="post" name="test" action="/upload">
<input type="hidden" name="param1" value="1" />
<input type="hidden" name="param2" value="2" />
<input type="hidden" name="param3" value="3" />
<input type="file" name="test_file" />
</form>
// Example JAVA ...
// Is the iterator guaranteed to return streams in the order: param1, param2, param3, test_file?
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iter = upload.getItemIterator(request);