Здравствуйте.
Для загрузки нескольких файлов использую MultipartRequest (из com.oreilly.servlet) - по сути обертка вокруг HttpRequest.
Файлы заливает отлично, все работает.
Но возник вопрос - как узнать, какой файл соответствует какому file input'у ?
Допустим, есть форма с 3мя file input'ами:
<input type="file" name="file_1"/>
<input type="file" name="file_2"/>
<input type="file" name="file_3"/>
В обработчике:
Enumeration uploaded_files = multi.getFileNames();
Если верить дебаггеру, то в нем есть:
- хеш-таблица вида 'file_3' => File (имя файла и тд), 'file_2' => File etc. Элементы идут в обратном порядке.
- еще есть поле lastReturned ( 'file_3' => File), которое содержит последний возвращенный элемент
Вызывая в цикле uploaded_files.nextElement() я пробегаю по всем этим файлам и переименовываю их. Проблема в том, чтобы узнать, какой файл какому file input'у соответствует.
nextElement() возвращает лишь имя файла, сам файл забираю по multi.getFile(name).
Судя по дебаггеру, ключем хеш-таблицы как раз и является имя file input'а.
Только вот как получить этот ключ, соответствующей этому самому nextElement'у?