- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我可以用 10K(10000 字节)的 maxUploadSize
定义一个 MultipartResolver
:
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10000"/>
</bean
但是,如果管理员需要通过管理界面上传一些超过此限制的大文件,应用需要临时重新配置以允许此操作 - 然后再次重新配置以确保普通用户不会超过此限制。
当发生这种情况时,当然,普通用户可能会偷偷进入一个大文件而不会收到警告。
有没有办法将解析器配置为在这两种情况下使用不同的 maxUploadSize
?
最佳答案
最简单的方法是为管理员而不是普通用户使用不同配置的 bean 实现。最优雅的方式是使用 Spring 3.0 @Configuration bean生成一个 session 范围的 bean 实例(我还在下面添加了一个范围代理,以防你没有在 session 范围的 bean 中使用它;否则你可以只使用像这样的更简单的注释:@Scope(WebApplicationContext.SCOPE_SESSION)
)。
@Configuration
public class MultipartResolverBuilder {
@Bean @Scope(value = WebApplicationContext.SCOPE_SESSION,
proxyMode = ScopedProxyMode.TARGET_CLASS)
public CommonsMultipartResolver getMultipartResolver() {
CommonsMultipartResolver mr = new CommonsMultipartResolver();
if (user_is_not_admin) {
mr.setMaxUploadSize(10000);
}
return mr;
}
}
当然,您需要添加代码来确定用户是否是管理员,并且您需要添加对扫描基于注解的配置的支持(如果您还没有的话) ; <context:annotation-config/>
/<context:component-scan .../>
是很常见的东西)。
关于java - 您如何为普通用户和管理员配置不同的 maxUploadSize 的 MultipartResolver?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6609291/
CommonsMultiPartResolver 中的 maxUploadSize 和 maxInMemorySize 有什么区别 最佳答案 maxUploadSize:单个请求的最大上传大小。这
我需要在一个请求中支持多个文件上传。用户可以选择任意数量的文件并将其上传到服务器。我想限制每个文件不超过 10MB。我编写了下面的代码,但它将所有文件的总大小限制为小于 10MB,但我想限制每个文件
我可以用 10K(10000 字节)的 maxUploadSize 定义一个 MultipartResolver: / 是很常见的东西)。 关于java - 您如何为普通用户和管理员配置不
我正在使用 CommonsMultipartResolver用于文件上传。
我有一个 Spring MVC web,它有两个不同的页面,它们有不同的表单来上传不同的文件。其中一个应该有 2MB 的限制,而另一个应该有 50MB 的限制。 现在,我的 app-config.xm
我正在为我的 Web 应用程序使用 Spring Boot,并且我正在尝试配置 Spring 的 CommonMultipartResolver 的 maxUploadSize。目前,它似乎受到 Sp
我是一名优秀的程序员,十分优秀!