第一步 添加jar包
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.liang</groupId>
<artifactId>springMvc-day2</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>springMvc-day2 Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.10.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.10.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.10.RELEASE</version>
</dependency>
<!--spring4.x版本的默认json字符转化控制器-->
<!--<dependency>-->
<!--<groupId>com.google.code.gson</groupId>-->
<!--<artifactId>gson</artifactId>-->
<!--<version>2.8.5</version>-->
<!--</dependency>-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!--fastjson的依赖-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.58</version>
</dependency>
<!-- 文件上传和下载所需要的jar 两个 commons-io commons-fileupload -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
</dependencies>
</project>
简单的依赖
创建一个jsp文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<form action="${pageContext.request.contextPath}/book/upload.do"
method="post" enctype="multipart/form-data">
<input type="file" name="file1">
<input type="submit">
</form>
</head>
<body>
</body>
</html>
第三步 创建一个contrller类
需要注意的点是file1 的名字要和jsp中的name名字一致
@RequestMapping("upload")
// MultipartFile类型的新参名称要和文件输入框(type=file)的name保持一致
public String upload(MultipartFile file1, HttpSession httpSession)throws Exception{
// 获取原文件的文件名
String s1 = file1.getOriginalFilename();
// 保存文件的路径
String path = httpSession.getServletContext().getRealPath("/upload");
// 我们用transferTo()将文件file1这个接受的上传文件进行保存
file1.transferTo(new File(path,s1));
return "forward:/index.jsp";
}
其中要在webapp创建一个文件夹 (upload) 这个文件夹不要为空 不然会报错
第四步 mvc.xml 文件
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--文件上传默认文件的大小是2M,单位B
1M = 1024kb
1kb = 1024B
10485760B = 10M 为上传的文件的大小
-->
<property name="maxUploadSize" value="10485760"></property>
</bean>
然后运行即可