JSP / Servlet: создайте форму для загрузки неизвестного количества файлов - PullRequest
0 голосов
/ 16 июня 2010

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

Ответы [ 2 ]

3 голосов
/ 16 июня 2010

Вам нужна форма с поддержкой ajax, которая может добавлять / удалять элементы входного файла:

<table border="1px">
    <tbody class="files">
    <tr><td><a class="delete" href="#">Delete</a></td><td><input class="fileSelect"  type="file" name="file" /></td></tr>
    <tr><td><a class="delete" href="#">Delete</a></td><td><input class="fileSelect"  type="file" name="file" /></td></tr>
    <tr><td><a class="delete" href="#">Delete</a></td><td><input class="fileSelect"  type="file" name="file" /></td></tr>
    <tr><td><a class="delete" href="#">Delete</a></td><td><input class="fileSelect"  type="file" name="file" /></td></tr>
    </tbody>
    <tbody>
    <tr><td><a class="add" href="#">Add</a></td><td><input id="submitButton" type="submit" value="Upload"/></td></tr>
    </tbody>
</table>

Использование jQuery:

$(function() {
    $(".delete").live("click", function() {
      $(this).parent().parent().remove();
    });

    $(".add").click(function() {
      $("tbody.files").append("<tr><td><a class='delete' href='#'>Delete</a></td><td><input class='fileSelect' type='file' name='file' /></td></tr>");
    });
});

Если вы используете Apache Commons FileUpload, то код сервера будет одинаковым, независимо от того, сколько файлов отправлено. FileUpload позволяет перебирать все загруженные файлы.

1 голос
/ 16 июня 2010

Вы можете пойти с чем-то вроде Commons FileUpload Project

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...