天天看点

SpringMVC多个文件上传实现

1.导入fileupload和io包 到pom.xml

<!--文件上传-->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.3</version>
        </dependency>
           

2.配置文件上传解析器 在spring-mvc.xml文件中

<!--配置文件上传解析器-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!--上传文件总大小-->
        <property name="maxUploadSize" value="5242800"/>
        <!--上传单个文件的大小-->
        <property name="maxUploadSizePerFile" value="5242800"/>
        <!--上传文件的编码类型-->
        <property name="defaultEncoding" value="UTF-8"/>
    </bean>
           

3.编写文件上传代码

前端代码 注意: enctype="multipart/form-data"

<form action="${pageContext.request.contextPath}/user/quick22" method="post" enctype="multipart/form-data">
    名称<input type="text" name="username"><br>
    文件<input type="file" name="upload"><br>
    文件<input type="file" name="upload"><br>
    文件<input type="file" name="upload"><br>
    <input type="submit" value="提交">
</form>
           

后端代码 注意: MultipartFile 变量名要和前端一致

@RequestMapping("quick23")
    @ResponseBody
    public void save23(String username,MultipartFile[] upload) throws IOException {
        System.out.println(username);
        for (MultipartFile multipartFile : upload) {
            String filename = multipartFile.getOriginalFilename();
            multipartFile.transferTo(new File("f:\\Download\\"+filename));
        }
    }