【问题标题】:How to implement folder upload in a Spring web app?如何在 Spring Web 应用程序中实现文件夹上传?
【发布时间】:2014-11-11 05:14:20
【问题描述】:

我想在我的 Web 应用程序中实现类似于 Google Drive 样式的文件/目录上传(我认为这是解释我想要什么的最佳示例)。

所以我想上传:

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

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

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

【问题讨论】:

  • 上传时检查选择的文件是文件还是目录。如果是文件上传,如果目录扫描了里面的所有文件,把它们连同创建的目录名一起上传,文件保存在里面。

标签: java html spring spring-mvc


【解决方案1】:

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

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

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

  • 在客户端生成(通过 javascript)一个表单,每个要上传的文件有一个 <input> 标签,并给它们命名,如 files[i]
  • 在服务器端,您会得到一个包含List<MultipartFile> 的表单,您可以照常处理。

【讨论】:

    猜你喜欢
    • 2011-12-12
    • 2019-10-16
    • 1970-01-01
    • 2017-01-16
    • 2012-01-23
    • 2012-04-12
    • 1970-01-01
    • 2018-06-24
    • 2020-07-09
    相关资源
    最近更新 更多