File upload 如何在jboss级别限制多部分文件上载大小?

File upload 如何在jboss级别限制多部分文件上载大小?,file-upload,jboss7.x,resteasy,File Upload,Jboss7.x,Resteasy,我的应用程序运行在jboss AS7+RestEasy上,目前我正在处理APi中的文件大小限制 @POST @GZIP @RequestFilter @Produces("application/json") @Consumes("multipart/form-data") @Path("/demo/test") public String uploadTest( @MultipartForm UPFile uploadFileFile, ) { if (uplo

我的应用程序运行在jboss AS7+RestEasy上,目前我正在处理APi中的文件大小限制

@POST
@GZIP
@RequestFilter
@Produces("application/json")
@Consumes("multipart/form-data")
@Path("/demo/test")
public String uploadTest(
        @MultipartForm UPFile uploadFileFile,
        ) {
if (uploadFileFile.getFileSize() > 10*10*1024) {
//error.. 
}
}
当我将文件大小设置为@FormParm时,这对我很有用


问题是uploadTest这个api在文件上传到jboss容器后被调用,然后它会检查文件大小这会占用不必要的服务器资源说客户端上传1GB数据这个数据将被上传到服务器我正在寻找一个一旦文件超过10MB大小就会拒绝的东西

将此添加到web.xml可以帮助您

 <multipart-config>  
          <max-file-size>5120000</max-file-size>  
          <max-request-size>5120000</max-request-size>  
        </multipart-config> 

将其添加到web.xml中可以帮助您

 <multipart-config>  
          <max-file-size>5120000</max-file-size>  
          <max-request-size>5120000</max-request-size>  
        </multipart-config> 
您可以在web子系统中的相关连接器中设置“最大邮件大小”属性

<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http" max-post-size="10485760"/>
您可以在web子系统中的相关连接器中设置“最大邮件大小”属性

<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http" max-post-size="10485760"/>

感谢Vinet的快速响应,但是or@MultipartConfig注释只在servlet中起作用。我们正在使用rest API restEasy,我尝试将上述内容添加到restEasy org.jboss.restEasy.plugins.server.servlet.HttpServletDispatcher 1中,但没有帮助。John,您可以使用[link]并将逻辑放入拦截器中。使用JAX-RS 2.0,可以使用@NameBinding注释将ContainerRequestFilter绑定到上载方法。在这个过滤器中,如果内容长度超过您计划接受requestContext的最大值,您将查看内容长度请求标头并放弃该请求。abortWith…请注意,内容长度标头是由客户端编写的,因此,如果您的客户端没有说谎,这将起作用。感谢Vinet的快速响应,但请使用@MultipartConfig注释仅适用于servlets我们正在使用rest API restEasy,我尝试将上述内容添加到restEasy org.jboss.restEasy.plugins.server.servlet.HttpServletDispatcher 1中,但没有帮助。John,您可以使用[link]并将逻辑放入拦截器中。使用JAX-RS 2.0,可以使用@NameBinding注释将ContainerRequestFilter绑定到上载方法。在此筛选器中,您将查看内容长度请求标头,如果内容长度超过您计划接受requestContext的最大值,则放弃该请求。abortWith…请注意,内容长度标头是由客户端编写的,因此,如果您的客户端没有说谎,这将起作用。