spring MVC 多文件上传

2023-12-03

我正在使用 Spring MVC 和 JSP。我想上传 2 个文件,但问题是只上传了一个文件。下面是代码:

<form id="myform" name="myform" action="/createRequest.htm" enctype="multipart/form-data" method="POST">
//form elements like textbox, checkbox
    <tr>
        <th class="RelReqstAllign"></th><td> (Or)<input type="file" name="fileUpload" size="50"/></td>
    </tr>
    <tr>
        <th class="RelReqstAllign"></th><td><input type="file" name="fileUpload" size="50" /></td>
    </tr>
</form>

下面是弹簧控制器代码:

@RequestMapping(value = "/createRequest", method = RequestMethod.POST)
public ModelAndView createRequest(final HttpServletRequest request,
        final HttpServletResponse response,
        final @ModelAttribute("spRequestDTO") SPRequestDTO dto,
        final BindingResult beException,
        final @RequestParam("buttonName") String buttonName,
        @RequestParam CommonsMultipartFile[] fileUpload) throws IOException {
    if (fileUpload != null && fileUpload.length > 0) {
        for (CommonsMultipartFile aFile : fileUpload) {

            System.out.println("Saving file: "
                    + aFile.getOriginalFilename());

            if (!aFile.getOriginalFilename().equals("")) {
                try {
                    aFile.transferTo(new File(saveDirectory + aFile.getOriginalFilename()));
                } catch (IllegalStateException e) {

                    e.printStackTrace();
                } catch (IOException e) {

                    e.printStackTrace();
                }
            }
        }
    }
}

当我调试控制器时,fileUpload即使我上传两个文件,也仅显示一个文件。

下面是Spring-mvc.xml中添加的代码

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
</bean>

就这样做吧。你不需要拥有超过input在表单中添加标签以选择多个文件

  <input type="file" name="fileUpload" size="50" multiple/>    

它将允许用户通过单击来选择系统中的多个文件ctrl键盘中的选项。

然后,在你的动作课上,按照你想要的方式做你的事情。

确保fileUpload变量作为 bean 类中的文件数组

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spring MVC 多文件上传 的相关文章

随机推荐

  • Umbraco 7 更新 Umbraco 路线

    我正在尝试创建一个 Umbraco 7 MVC 应用程序 在此过程中 我希望能够创建在幕后管理数据的自定义控制器 通过我的研究 我发现使用 SurfaceController 是最成功的 但是 该路线将 umbraco surface 添加
  • 如何在 apache 服务器上运行 socket.io(仅限客户端)

    我想在我的 apache 服务器上运行 socket io 的客户端 我已将 socket io 目录上传到我的网络服务器 并尝试了主站点的简单客户端连接示例套接字 io但它不起作用 我不知道需要什么才能让它工作并连接我正在运行的服务器 我
  • 将参数传递给返回集合的 OData (GET) 方法

    我在用OData v3 如何将参数传递给OData控制器并返回一个集合 我正在尝试做的示例 EnableQuery AllowedQueryOptions AllowedQueryOptions All public IQueryable
  • Firestore Cloud Function 空集合

    我有一个问题困扰了我好几天 我正在尝试创建一个从 Firestore 数据库读取的 Firebase Cloud 函数 我的 Firestore 数据库如下所示 问题是我无法列出users像这样 db collection users ge
  • Azure DevOps管道:取消队列中的多个待处理作业

    在 Azure DevOps 管道中 如何取消作业池的所有待处理作业 我有很多工作在排队 但看不到在哪里可以取消我正在等待的所有工作 Azure Devops 尚不具备从 UI 部分批量取消所有待处理作业的功能 您可以编写脚本来调用rest
  • 我可以有一个空的 Java 类吗?

    我正在创建一个基于网格的游戏 我需要实现一组在网格内占据随机位置的障碍物 我创建了一个抽象类ALifeForm 它保存网格中每个项目的通用方法 显然 抽象类无法初始化 所以我要创建一个新类AObstacle 这将延长ALifeForm 唯一
  • 模板实例化检查类中存在的成员

    我有一组类 其中有一个或多个类型为memberA memberB memberC 的成员 并非所有班级都有所有成员 我想创建一个模板来设置成员 例如 template
  • Getresponse API 2(使用 PHP 添加自定义字段和联系人)

    我对编码和 Web 开发还很陌生 而深入研究 API 是我希望自己从未做过的事情 然而话虽这么说 我的进步比预期的要远 我现在在尝试将自定义字段添加到添加联系人功能时遇到问题 我试图获取代码以在用户点击我的感谢页面时添加隐藏的表单输入字段
  • 为什么我无法在 Mac OS Sierra 上安装 Sass?

    我已经尝试在 Mac OS Sierra 10 12 上从终端输入以下代码安装 Sass 3 次 sudo gem install sass 然后它要求我输入密码 我输入密码 但没有任何反应 我什至等了半个小时 它甚至没有给出任何错误或任何
  • 使用目标文件名变量重命名文件时出现“错误文件名或编号”

    我正在尝试循环一个充满 html 文件的文件夹 并在文件的开头添加一些代码 尽管我在插入的代码之前遇到了一些不需要的换行符 并且还获取了
  • svg / d3.js 矩形一侧的圆角

    我知道 svg 有一个内置函数可以做圆角 但我只需要在四个角中的 2 个上做圆角 我知道我可以在彼此之上绘制多个矩形来模仿这一点 但这看起来有点俗气 有什么方法可以使用剪辑或任何 d3 js 方法来做到这一点吗 现在我有一个水平条形图 其中
  • Python Dataframe 向列添加描述

    我想向列添加描述 例如我收集数据的数据源 这样的事可能吗 大约8年前有人问过类似的问题将我自己的描述属性添加到 Pandas DataFrame没有答案 My code df index colA colB description from
  • 创建会话时添加另一个 cookie [重复]

    这个问题在这里已经有答案了 在我用struts 2 javax servlet v 2 5和嵌入式tomcat lib 开发的Web应用程序中 当创建HttpSession时 第一次调用request getSession 我总是在第一个请
  • 如何将宽度 100% 应用于可滚动的表格主体

    我正在尝试实现表体可滚动 我能够成功做到这一点 但现在我面临宽度 100 的问题 请检查这个jsfiddlehttps jsfiddle net Ratan Paul stpgd6x6 table thead style display b
  • JavaScript 匹配任何字母字符

    在 PHP 中 我可以使用这个正则表达式来匹配字符串中的任何字母字符 preg match pL int 1 然而在 JavaScript 中这是不可用的 pL test false 我猜这是由于不同的正则表达式解释器造成的 并且在某些浏览
  • 使用 Spring Data neo4j 创建空间索引时出错

    我正在研究 Neo4j Spring Data 项目 想要在节点上执行一些与空间相关的操作 实体类 NodeEntity public class User GraphId Long id private String fname priv
  • 在 Android 中通知您发送的消息是否发送成功

    我这里有一些代码来发送消息 SmsManager sms new SmsManager getDefault sms sendTextMessage 911 null HALP PendingIntent null Developer an
  • Codeigniter - 使用 edit_unique 编辑表单(重新填充)

    看来edit unique函数 它被描述为here 更新记录时验证 CodeIgniter 中的唯一性 杀死set value功能 一切正常 就像这样 echo form input username set value username
  • 需要常量表达式吗? (Java switch 语句)

    我不知道是什么导致了这个错误 我和老师仔细检查了一遍 也没有发现问题所在 import java util Scanner public class MailAssignment public static void main String
  • spring MVC 多文件上传

    我正在使用 Spring MVC 和 JSP 我想上传 2 个文件 但问题是只上传了一个文件 下面是代码