spring boot限制指定路径上传文件大小
时间: 2023-07-29 14:11:17 浏览: 126
SpringBoot限制文件或图片上传大小的两种配置方法
要限制Spring Boot应用程序中特定路径上传的文件大小,可以在应用程序的配置文件中添加以下配置:
```
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
```
上述配置会将上传的文件大小限制为10MB。
然后,为了限制特定路径下的上传文件大小,需要在应用程序中创建一个`MultipartConfigElement` bean,并将其应用于指定路径的控制器或方法。
例如,假设我们要限制路径`/upload`下的上传文件大小,我们可以在应用程序中添加以下代码:
```java
@Configuration
public class WebConfig {
@Bean
MultipartConfigElement multipartConfigElement() {
long maxFileSize = 10 * 1024 * 1024; // 10MB
long maxRequestSize = 10 * 1024 * 1024;
int fileSizeThreshold = 0;
return new MultipartConfigElement("/tmp", maxFileSize, maxRequestSize, fileSizeThreshold);
}
@Bean
public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new HandlerInterceptor() {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if (request.getRequestURI().startsWith("/upload")) {
request.setAttribute("org.apache.tomcat.websocket.DISPATCHER", true);
request.setAttribute("multipartConfigElement", multipartConfigElement());
}
return true;
}
});
}
};
}
}
```
上述代码创建了一个`MultipartConfigElement` bean,并在`preHandle`方法中将其应用于路径以`/upload`开头的请求。
请注意,上述代码使用了过时的`WebMvcConfigurerAdapter`类。如果你使用的是Spring Boot 2.0或更高版本,则应该使用`WebMvcConfigurer`接口。
阅读全文