SpringMVC如何实现高效文件上传处理?

更新于
2026-10-09 14:27:09
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计490个文字,预计阅读时间需要2分钟。

SpringMVC如何实现高效文件上传处理?

文件上传原理+当form表单修改为多部分表单时,request.getParameter()将失效。+enctype=application/x-www-form-urlencoded时,form表单的正文内容格式是:key=valuekey=valuekey=value+当form表单的enctype属性为multipart/form-data时,表单正文内容格式为:--boundary\nContent-Disposition: form-data; name=field_name\n\nfield_value\n--boundary\nContent-Disposition: form-data; name=file; filename=file_name\nContent-Type: content_type\n\nfile_content\n--boundary--

文件上传原理

当form表单修改为多部分表单时,request.getParameter()将失效。

enctype="application/x-www-form-urlencoded”时,form表单的正文内容格式是: key=value&key=value&key=value

当form表单的enctype取值为Mutilpart/form-data时,请求正文内容就变成多部分形式

单文件上传步骤 ①导入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>

②配置文件上传解析器

在springMVC.xml中配置

<!-- 配置文件上传解析器--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"></property> <property name="maxUploadSize" value="5000000"></property> </bean>

③编写文件上传代码

@RequestMapping(value = "/quick15") @ResponseBody //告知spring直接进行数据回写,不跳转 public void save15(String username, MultipartFile uploadFile) throws IOException { System.out.println(username); //获取上传文件名称 String originalFilename = uploadFile.getOriginalFilename(); uploadFile.transferTo(new File("C:\\test\\"+originalFilename)); //上传后的文件传到C盘的位置 } ④编写页面

<%-- Created by IntelliJ IDEA. User: CLD Date: 2022/7/4 Time: 17:21 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="${pageContext.request.contextPath}/quick15" method="post" enctype="multipart/form-data"> 名称<input type="text" name="username"><br/> 文件<input type="file" name="uploadFile"><br/> <input type="submit" value="提交"> </form> </body> </html>

SpringMVC如何实现高效文件上传处理?

发现test文件夹中有我刚才上传的文件,上传成功。

本文共计490个文字,预计阅读时间需要2分钟。

SpringMVC如何实现高效文件上传处理?

文件上传原理+当form表单修改为多部分表单时,request.getParameter()将失效。+enctype=application/x-www-form-urlencoded时,form表单的正文内容格式是:key=valuekey=valuekey=value+当form表单的enctype属性为multipart/form-data时,表单正文内容格式为:--boundary\nContent-Disposition: form-data; name=field_name\n\nfield_value\n--boundary\nContent-Disposition: form-data; name=file; filename=file_name\nContent-Type: content_type\n\nfile_content\n--boundary--

文件上传原理

当form表单修改为多部分表单时,request.getParameter()将失效。

enctype="application/x-www-form-urlencoded”时,form表单的正文内容格式是: key=value&key=value&key=value

当form表单的enctype取值为Mutilpart/form-data时,请求正文内容就变成多部分形式

单文件上传步骤 ①导入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>

②配置文件上传解析器

在springMVC.xml中配置

<!-- 配置文件上传解析器--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"></property> <property name="maxUploadSize" value="5000000"></property> </bean>

③编写文件上传代码

@RequestMapping(value = "/quick15") @ResponseBody //告知spring直接进行数据回写,不跳转 public void save15(String username, MultipartFile uploadFile) throws IOException { System.out.println(username); //获取上传文件名称 String originalFilename = uploadFile.getOriginalFilename(); uploadFile.transferTo(new File("C:\\test\\"+originalFilename)); //上传后的文件传到C盘的位置 } ④编写页面

<%-- Created by IntelliJ IDEA. User: CLD Date: 2022/7/4 Time: 17:21 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="${pageContext.request.contextPath}/quick15" method="post" enctype="multipart/form-data"> 名称<input type="text" name="username"><br/> 文件<input type="file" name="uploadFile"><br/> <input type="submit" value="提交"> </form> </body> </html>

SpringMVC如何实现高效文件上传处理?

发现test文件夹中有我刚才上传的文件,上传成功。