1.静态资源存放的位置
springboot的静态资源需要放在resources目录的static文件夹下
2.上传文件
2.1 编写fileUpLoad.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/fileUpLoad" method="post" enctype="multipart/form-data">
文件上传:
<input type="file" name="name"><br/>
<input type="submit">
</form>
</body>
</html>
其中要注意:enctype="multipart/form-data";input标签的type类型为file。
2.2 编写controller
文件上传成功向页面输出ok
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
* @author zhou'en'xian
* @date 2020/1/22 20:58
*/
@RestController
public class FileUpLoad {
@RequestMapping("/fileUpLoad")
public Map<String,Object> fileUpLoad(MultipartFile name) throws IOException {
name.transferTo(new File("E:/"+name.getOriginalFilename()));
Map<String,Object>map=new HashMap<>();
map.put("mes","ok");
return map;
};
}
其中要特别注意MultipartFile的变量名与input文件上传标签的name保持一致
2.3 如果上传的文件较大,会报错,无法上传文件。必须要修改application.properties的配置文件(SpringBoot2.0及以上版本,默认单个上传文件大小为1MB,一次请求上传的总的文件大小为10MB)
但是不同的版本,配置也有所区别。
1、Spring Boot 1.3 版本:
multipart.maxFileSize
2、Spring Boot 1.4 版本和 1.5 版本:
spring.http.multipart.maxFileSize
3、Spring Boot 2.0 版本:
spring.servlet.multipart.maxFileSize
以上,要注意1.4、1.5版本和2.0版本的区别,不然会一直提示无效。
我采用的是SpringBoot2.0以上版本,并且单个上传文件超过默认大小,需要修改配置文件。
application.properties 配置文件如下:
spring.servlet.multipart.max-file-size=50MB
spring.servlet.multipart.max-request-size=100MB
2.4 编写启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootHelloWorldApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootHelloWorldApplication.class, args);
}