首页 > 解决方案 > 如何在 Spring 配置中以 MB 或 GB 为单位指定 maxInMemorySize

问题描述

我对 Java 和 Spring 比较陌生。我正在尝试制作一个应用程序,用户可以在其中上传最大 2.5 GB 的文件。所以我尝试springapp-servlet.xml从我在某处读到的文件中设置它。

<bean id="multipartResolver"
      class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="2500001000" />
    <property name="maxInMemorySize" value="2500001000" />
    <property name="defaultEncoding" value="utf-8" />
</bean>

但是,它给了我以下错误:

"Failed to convert property value of type 'java.lang.String' 
 to required type 'int' for property 'maxInMemorySize';"

我认为这个错误是因为我的价值很长。如何以 MB 或 GB 为单位指定此值?

标签: javaspring-mvcmultipartform-data

解决方案


setMaxInMemorySize会打电话setSizeThreshold(int sizeThreshold)org.apache.commons.fileupload.disk.DiskFileItemFactory,我认为不能指定“MB”。因此,您可能需要使用其他 FileItemFactory 或自己编写代码。


推荐阅读