【问题标题】:Will spring.servlet.multipart.* properties apply to Jersey multipart?spring.servlet.multipart.* 属性是否适用于 Jersey 多部分?
【发布时间】:2022-11-10 18:48:52
【问题描述】:

我有一个使用 Jersey 的 spring boot 应用程序。我在application.properties 中有以下属性:

# Enable multipart.
spring.servlet.multipart.enabled=true

# Write files larger than 1MB to disk (instead of memory).
spring.servlet.multipart.file-size-threshold=1MB

# Set location for multipart file uploads.
spring.servlet.multipart.location=/tmp/tomcat

# Max file size.
spring.servlet.multipart.maxFileSize=100MB

# Max request size.
spring.servlet.multipart.maxRequestSize=100MB

# Set max header size
server.max-http-header-size=65536

我已经使用register(MultiPartFeature.class); 启用了 Jersey 多部分功能。

在我看来,泽西岛没有选择/没有配置通过spring.servlet.multipart.* 设置的多部分值。当我将一个大文件上传到应用程序时,它会创建一个相应的/tmp/MIME* 文件,而不是像application.properties 中指定的那样进入/tmp/tomcat

默认情况下,Jersey 似乎在 WEB-INF/classes 中需要一个 jersey-multipart-config.properties 文件,它可以在其中获取属性。

我真的很希望泽西岛能够了解application.properties 中提供的属性。这可能吗,还是我必须接受我需要在单独的配置文件中管理多部分属性?

【问题讨论】:

  • 不,它们不适用,它们适用于 Spring 中的多部分解析器,而不是您需要自己配置的 Jersey 的外部配置。
  • @M.Deinum 谢谢。如果你做出这样的回答,我会接受。

标签: spring-boot jersey multipartform-data


【解决方案1】:

spring.servlet.multipart 适用于 Spring MVC 中的 MultipartResolver 支持。它将使用MultipartConfigElement 注册,而MultipartConfigElement 又将添加到上下文中可用的任何servlet(请参阅the javadoc)。

它不适用于球衣配置,因为它是分开的,并且可能适用于过滤器(最终)。您也许可以重用配置属性,甚至可以获取预配置的MultipartConfigElement 来获取配置。

尽管如此,您仍需要手动进行配置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2021-12-04
    • 2011-06-25
    • 2010-11-30
    • 1970-01-01
    相关资源
    最近更新 更多