具有resteasy和multipart / form-data请求的最大文件大小

时间:2013-12-31 18:01:48

标签: java java-ee jax-rs resteasy multipartform-data

使用resteasy处理multipart / form-data请求时,如何控制最大文件大小和/或最大请求大小?

我的代码如下所示:

@POST
@Path("/somerestresource")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response handleForm(@MultipartForm MyForm form) {
    ...
}

使用Servlet,我可以使用@MultipartConfig注释控制内容。

所以我考虑绕过resteasy并使用@Context注入HttpServletRequest并在web.xml中配置我的servlet,但我不确定副作用。

1 个答案:

答案 0 :(得分:4)

使用JAX-RS 2.0,您可以使用@NameBinding注释绑定到上传方法的ContainerRequestFilter。在此过滤器中,您将查看content-length请求标头,并在内容长度超过您计划接受的最大值时放弃请求(requestContext.abortWith(...)

使用JAX-RS 1.1和RESTEasy,您可以使用PreProcessInterceptor(http://docs.jboss.org/resteasy/docs/1.1.GA/userguide/html/Interceptors.html#PreProcessInterceptors)执行相同的操作,并遵循与上述逻辑逻辑类似的逻辑逻辑。