【文件上传】Spring MVC 文件上传

目录:

一、文件上传三要素

二、服务端代码如何获得请求体的内容

三、SpringMVC实现文件上传 【可直接看此部分】

 

 

一、文件上传三要素:

1、表单的提交方式 method="POST"

2、表单的enctype属性是多部分表单形式 enctype=“multipart/form-data"

3、表单项(元素)type="file"

<form action="" method="post" enctype="multipart/form-data">
    姓名:<input type="text" name="username"> <br>
    头像:<input type="file" name="picFile"> <br>
</form>

上传原理:

二、服务端代码如何获得请求体的内容

1、apache提供的file-uplaod工具包【开发中一般不用底层工具包】

2、Servlet3.0【原生servlet开发时使用...】

3、springMVC内置文件上传(底层集成了file-uplaod)常用

三、SpringMVC实现文件上传

1、前端代码:

<form action="${pageContext.request.contextPath}/user/upload"
      method="post" enctype="multipart/form-data">
    姓名:<input type="text" name="username"> <br>
    头像:<input type="file" name="picFile"> <br>
    <input type="submit" value="文件上传">
</form>

2、后端POM导入apache的文件依赖

<!--文件上传-->
<dependency>
   <groupId>commons-fileupload</groupId>
   <artifactId>commons-fileupload</artifactId>
   <version>1.4</version>
</dependency>

3、修改spring-mvc.xml

<!-- 文件上传组件扩展 id="multipartResolver" 此id必须是这个名称... -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  <!-- 限定文件的大小 单位是字节(B) 限制大约在5MB左右 -->
  <property name="maxUploadSize" value="5024000"></property>
</bean>

4、后端代码

    // 文件上传
    @RequestMapping("/upload")
    public String upload(String username, MultipartFile picFile) {
        System.out.println("普通项:" + username);
        System.out.println("文件项:" + picFile);
        System.out.println("文件名:" + picFile.getOriginalFilename());
        // 保存到一个指定的磁盘目录
        try {
            picFile.transferTo(new File("d:\\"+picFile.getOriginalFilename()));
        } catch (IOException e) {
            e.printStackTrace();
        }
 
        return "success";
    }

 

 

 

本博客参考:

SpringMVC=SpringMVC请求参数以及文件上传:https://blog.csdn.net/appandroid/article/details/106556772

spring boot 上传文件_spring-boot-route(一)Controller接收参数的几种方式:https://blog.csdn.net/weixin_39605894/article/details/111018108

springMVC file文件上传及参数接收:https://www.cnblogs.com/wryd952532573/p/7509428.html

posted @ 2022-08-19 17:19  细胞何  阅读(1188)  评论(0编辑  收藏  举报