springboot怎么判断并限制文件上传的后缀名
时间: 2024-02-29 13:51:04 浏览: 17
在Spring Boot中,可以通过设置MultipartResolver来实现对上传文件的后缀名进行限制。具体实现如下:
1.在Spring Boot配置类中添加以下代码,创建一个CommonsMultipartResolver的Bean:
```
@Bean(name = "multipartResolver")
public CommonsMultipartResolver commonsMultipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
// 限制上传文件的大小
resolver.setMaxUploadSizePerFile(5242880);//5MB
// 限制上传文件的后缀名
resolver.setAllowedFileTypes(new String[]{"jpg", "png", "gif"});
return resolver;
}
```
2.在Controller中进行文件上传处理,如下所示:
```
@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file) {
// 判断文件类型
String fileName = file.getOriginalFilename();
String fileType = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
if (!Arrays.asList("jpg", "png", "gif").contains(fileType)) {
return "文件类型不支持";
}
// 其他上传处理代码
...
}
```
通过以上代码,可以实现对上传文件的后缀名进行限制。在CommonsMultipartResolver的setAllowedFileTypes方法中,将允许上传的文件类型以数组形式传入即可。在Controller中,通过获取上传文件的文件名,再根据文件名获取其后缀名进行判断,从而实现对上传文件的后缀名进行限制。