如何在Spring Web应用程序中实现文件夹上传?

时间:2014-09-17 08:42:32

标签: java html5 spring spring-mvc

我想在我的网络应用程序中实现类似于Google云端硬盘风格的文件/目录上传(我认为这是解释我想要的最佳示例)。

所以我想上传:

  • 单个文件
  • 多个选定的文件
  • 选定的文件夹(包含在其中的所有文件)

在客户端,我想我必须使用HTML5,我错了吗?但是如何在服务器端控制器上处理这个问题。我正在使用Spring MVC 3.2.9

你能建议我最好的方法吗?

1 个答案:

答案 0 :(得分:1)

困难的部分是客户端上传文件夹。根据关于Does HTML5 allow drag-drop upload of folders or a folder tree?的其他答案, HTML5规范并未说明在选择要上传的文件夹时,浏览器应该递归上传所有包含的文件

当然有可能,但HTML5还不够,你必须使用Javascript(递归)查找文件夹中的所有文件。

正如conFusl所说,你可以在viralpatel.net Spring MVC Multiple File Upload tutorial. Spring Multiple File upload example上找到一个很好的例子。原则是:

  • 在客户端生成(通过javascript)一个表单,每个文件都有一个<input>标记用于上传,并为其指定名称files[i]
  • 在服务器端,您将获得一个包含List<MultipartFile>的表单,您可以照常处理。