SpringMVC的MultipartFile类型如何限制用户上传文件的类型
时间: 2023-10-14 16:24:01 浏览: 220
可以通过在SpringMVC的Controller中使用@RequestPart注解指定MultipartFile类型的参数,并在参数前使用@Validated注解,然后在MultipartFile参数前使用@javax.validation.constraints中的注解进行文件类型的限制,例如:
```
@RestController
@RequestMapping("/file")
@Validated
public class FileController {
@PostMapping("/upload")
public String uploadFile(@RequestPart("file") @NotEmpty @Size(max = 1024 * 1024) @Validated MultipartFile file) {
//处理上传文件逻辑
}
}
```
在上面的例子中,使用@NotEmpty和@Size注解限制文件不能为空且文件大小不能超过1MB。如果需要限制文件类型,可以使用@javax.validation.constraints中的@Pattern注解,例如:
```
@RestController
@RequestMapping("/file")
@Validated
public class FileController {
@PostMapping("/upload")
public String uploadFile(@RequestPart("file") @NotEmpty @Size(max = 1024 * 1024) @Pattern(regexp = "^(jpg|jpeg|png|gif)$", message = "只能上传jpg、jpeg、png、gif格式的文件") @Validated MultipartFile file) {
//处理上传文件逻辑
}
}
```
在上面的例子中,使用@Pattern注解限制文件类型只能为jpg、jpeg、png、gif格式的文件。如果上传其他类型的文件,会返回自定义的错误信息"只能上传jpg、jpeg、png、gif格式的文件"。
阅读全文