java - 使用 CommonsMultipartResolver 上传多个文件时如何为每个文件设置 maxUploadSize?

标签 java spring

我需要在一个请求中支持多个文件上传。用户可以选择任意数量的文件并将其上传到服务器。我想限制每个文件不超过 10MB。我编写了下面的代码,但它将所有文件的总大小限制为小于 10MB,但我想限制每个文件 10MB,并且总共可以有任意数量的文件。我正在使用 spring web mvc 3.0

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- 10 megs is 10485760 bytes.-->
    <property name="maxUploadSize" value="10486784"/>
</bean>

有什么想法吗?

最佳答案

maxUploadSize CommonsMultipartResolver的参数不打算设置文件大小验证。它是关于限制多部分文件上传请求,以便恶意用户无法上传会占用您的资源来处理该请求的内容。在这种情况下,单个文件的大小实际上并不重要。需要关注的是总上传大小。这就是为什么CommonsMultipartResolver没有任何属性来限制单个文件大小。

要限制单个文件大小,您必须进行服务器端验证(在这两种情况下,单个文件上传或多个文件上传)。

谢谢,编码愉快!

关于java - 使用 CommonsMultipartResolver 上传多个文件时如何为每个文件设置 maxUploadSize?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13726723/

相关文章:

java - hibernate - 防止获取某些属性

java - 与 SINGLE_TABLE 继承的子类的关系

java - 使用 Tesseract hOCR 提取文本属性

java - 尝试使用 java 实现 Azure AD 身份验证时出现异常

java - 在多个项目中管理 Spring Boot 父 POM 版本

java - Spring:未能捕获抛出的异常

java - Servlet 无法解析

Java:当其他类已经扩展基类时如何扩展基类?

java - 未找到 JSP、EL 属性

java - 确保每次调用 B(抽象实现的方法)后调用方法 A?