JSP / Servlet:创建用于上载未知数量文件的表单

时间:2010-06-16 14:33:35

标签: html servlets file-upload

我需要创建一个表单,允许用户将未知数量的文件上传到运行Tomcat的服务器。如果表单可以根据需要向表单添加上传插槽,那将是很好的。我没有在这个问题上找到太多有用的东西,所以我想我会对社区进行评估。

2 个答案:

答案 0 :(得分:3)

您需要一个可以添加/删除输入文件元素的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 :(得分:1)

您可以使用类似Commons FileUpload Project

的内容