java - Jax rs 控制器设置上传文件大小限制
问题描述
我有带有 jax-rs 控制器的 Spring Boot 服务。我需要限制上传文件的大小。所有 spring 的属性都不起作用,因为 jax-rs 不使用它们。
我正在使用配置来启用多部分加载
register(MultiPartFeature.class);
我可以通过控制器上传文件。现在我想限制文件大小。我尝试这样使用MultipartConfigElement
:
@Bean
ServletRegistrationBean jerseyServlet() {
ServletRegistrationBean registration = new ServletRegistrationBean(new ServletContainer(), "/*")
registration.addInitParameter(ServletProperties.JAXRS_APPLICATION_CLASS, IBankJerseyConfig.class.getName())
registration.setMultipartConfig(new MultipartConfigElement(null, 10000L, -1, 0))
registration
}
现在,当尝试加载超出限制的文件时,我得到Stream closed
错误。但是当我加载不超过限制的文件时,我得到Bad request 400
.
当我使用这些配置时,我可以成功加载任何大小的文件:
@Bean
ServletRegistrationBean jerseyServlet() {
ServletRegistrationBean registration = new ServletRegistrationBean(new ServletContainer(), "/*")
registration.addInitParameter(ServletProperties.JAXRS_APPLICATION_CLASS, IBankJerseyConfig.class.getName())
registration
}
请帮助我在 Spring Boot 中限制 jax-rs 控制器的文件大小。
解决方案
推荐阅读
- asp.net - 来自 Mac OS 共享文件夹的 IIS 站点
- regex - 从文件中提取文本,直到 perl 中的匹配行
- typescript - 在 NestJS 中将服务注入到控制器函数中
- swift - 如何制作具有多种可能枚举类型的 Codable 类?
- docker - Traefik v2:404,同时将 HTTP 流量全局路由到 HTTPS
- git - 从子模块获取远程找不到分支
- python - 使用 GEKKO 的 CSTR 稳态参数估计
- javascript - 读取文件行时控制加载顺序
- javascript - 为什么将对象初始化包装在函数中?
- css - 使用循环创建仅 CSS 的顺序淡入 DIV