springboot统一限制文件类型和大小
时间: 2023-07-03 21:30:26 浏览: 236
解决springboot下被限制文件过大问题.txt
在 Spring Boot 中,你可以通过使用 Spring Boot Starter Web 和 Apache Commons FileUpload 库来限制上传文件的类型和大小。
首先,你需要在项目的 pom.xml 文件中添加以下依赖项:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
```
接下来,你可以在你的控制器中添加以下代码来限制上传文件的类型和大小:
```
@PostMapping("/upload")
public ResponseEntity<String> handleFileUpload(@RequestParam("file") MultipartFile file) {
// 检查文件大小
if (file.getSize() > MAX_FILE_SIZE) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("File size too large");
}
// 检查文件类型
String contentType = file.getContentType();
if (!ALLOWED_CONTENT_TYPES.contains(contentType)) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("File type not allowed");
}
// 处理文件上传
// ...
return ResponseEntity.ok("File uploaded successfully");
}
```
其中,MAX_FILE_SIZE 和 ALLOWED_CONTENT_TYPES 是你自己定义的常量,用于限制文件大小和类型。你可以根据你的实际需求来设置它们的值。
这样,当用户上传不符合要求的文件时,你的控制器会返回一个错误响应,告诉用户上传失败的原因。
阅读全文