1、添加必须依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2、配置文件:
方式一:application.properties文件中添加配置:
#单位可以是B、KB、MB、GB、PB、EB...(默认单位为B),单位必须大写
#单个文件的最大大小,默认1MB
spring.servlet.multipart.max-file-size=500MB
#单次上传所有文件的总大小,默认10MB
spring.servlet.multipart.max-request-size=1000MB
方式二:使用代码配置:
在主类或者配置类里面添加如下代码即可:
@Bean
public MultipartConfigElement createMultipartConfig() {
MultipartConfigFactory factory = new MultipartConfigFactory();
/*
ofBytes():B
ofKilobytes():KB
ofMegabytes():MB
ofGigabytes():GB
ofTerabytes():TB
*/
DataSize maxFileSize = DataSize.ofMegabytes(5);
factory.setMaxFileSize(maxFileSize);
DataSize maxRequestSize = DataSize.ofMegabytes(50);
factory.setMaxRequestSize(maxRequestSize);
return factory.createMultipartConfig();
}
3、其他代码:
可以参考另一篇博客:springMVC上传文件
controller:
@RestController
public class UploadController {
@PostMapping("/upload")
public String upload(MultipartFile[] upFiles) {
for (MultipartFile upFile: upFiles)
System.out.println("fileName:" + upFile.getOriginalFilename());
return "success";
}
}
html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>upload</title>
<script src="js/jquery.js"></script>
</head>
<body>
选择文件:<input id="file" type="file" multiple/>
<button id="upload">上传</button>
<script>
$(function() {
$("#upload").on('click', function() {
let data = new FormData();
for (let i = 0; i < $('#file')[0].files.length; i++) {
data.append('upFiles', $('#file')[0].files[i]);
}
$.ajax({
url: '/upload',
data: data,
type: 'POST',
dataType: 'TEXT',
contentType: false,
processData: false,
success: function(msg) {
alert(msg);
}
});
});
});
</script>
</body>
</html>