File upload 如何在jboss级别限制多部分文件上载大小?
我的应用程序运行在jboss AS7+RestEasy上,目前我正在处理APi中的文件大小限制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
@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…请注意,内容长度标头是由客户端编写的,因此,如果您的客户端没有说谎,这将起作用。