项目目录如下
1.创建maven项目,导入springboot的maven依赖
pom.xml
<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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
<groupId>per.czt.07-spring-boot-fileupload</groupId>
<artifactId>07-spring-boot-fileupload</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>07-spring-boot-fileupload</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- spring-boot启动器 -->
<!-- spring-boot就是一些jar包的集合,一共44个启动器 -->
<!-- spring-boot-start-web,支持全栈开发,包括tomcat和springmvc等 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
2.文件目录
编写上传文件的html文件
upload.html
<!doctype html>
<html>
<head>
</head>
<body>
<form action="fileUploadController" method="post" enctype="multipart/form-data">
上传文件:<input type="file" name="fileName">
<br/>
<input type="submit" >
</form>
</body>
</html>
编写控制器
FileUploadController.Class
package per.czt.controller;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@RestController//=@Controller+@ResponseBody,表示该类下的方法会自动做json的转换
public class FileUploadController {
/*
* 处理文件上传
*/
@RequestMapping("/fileUploadController")
public Map<String,Object> fileUpload(MultipartFile fileName) throws IllegalStateException, IOException{
System.out.println(fileName.getOriginalFilename());
fileName.transferTo(new File("d:/desktop/"+fileName.getOriginalFilename()));
Map<String,Object> map=new HashMap<String,Object>();
map.put("msg", "fileUpload success");
return map;
}
}
application.properties限制文件上传单个大小和总大小
spring.http.multipart.maxFileSize=300MB
spring.http.multipart.maxRequestSize=300MB
编写SpringBoot启动类
App.Class
package per.czt;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* Hello world!
*
*/
@SpringBootApplication
public class App
{
public static void main( String[] args )
{
SpringApplication.run(App.class, args);
}
}
在浏览器地址栏输入 http://127.0.0.1:8080/upload.html
出现
上传一个文件
开始上传
上传完成后显示
并且在我们指定上传的位置发现已经成功上传了文件。