在 Spring-6 中创建一个 Multipartresolver bean

问题描述 投票:0回答:1

在 spring5 中我们可以创建如下所示的 bean。

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize">
        <value>1073741824</value>
    </property>
</bean>

但是这个 CommonsMultipartResolver 在 spring-6 中被删除。

因此我们有 org.springframework.web.multipart.support.StandardServletMultipartResolver 用于分段文件上传。但是如何设置 maxUploadSize 属性,因为该属性在上面的类中不可用?

java spring spring-mvc spring-bean
1个回答
0
投票

请遵循 JEE 文档 或检查 StandardServletMultipartResolver 文档。

您可以使用web.xml

<multipart-config>
 <location>/tmp</location>
 <max-file-size>26214400</max-file-size>
 <max-request-size>31457280</max-request-size>
 <file-size-threshold>0</file-size-threshold>
</multipart-config>

或者javax servlet注释:

@WebServlet("/uploadServlet")
@MultipartConfig(location="/tmp", fileSizeThreshold=1024*1024, 
    maxFileSize=1024*1024*5, maxRequestSize=1024*1024*5*5)
public class UploadServlet extends HttpServlet {
// ...

或者 spring 注解配置:

public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
   // ...
   @Override
   protected void customizeRegistration(ServletRegistration.Dynamic registration) {
     // Optionally also set maxFileSize, maxRequestSize, fileSizeThreshold
     registration.setMultipartConfig(new MultipartConfigElement("/tmp"));
   }
 }
© www.soinside.com 2019 - 2024. All rights reserved.