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