我需要帮助张贴大型JSON对象到服务器使用ajax在angularjs。当我使用post请求在ArrayList中发送包含大约10000条记录的JSON对象时,它被接受,并且当我上传30000条或更多记录并尝试使用ajax发送它时,我得到same.But的响应,它返回以下错误:-
[io.undertow.request] (default task-5) UT005007: Request was not fully consumed我该如何解决这个问题呢?
我用的是Wildfly 10和java 8,有没有可以增加的post size参数?
发布于 2019-03-28 17:48:55
您似乎正在使用Undertow接收POST请求。检查设置中的MAX_ENTITY_SIZE选项的值是什么,可能是受限制的:
请求实体的默认最大大小。如果entity body大于此限制,则在读取请求时的某个时刻会抛出
java.io.IOException(对于固定长度的请求,在第一次读取时,对于分块请求,当读取了太多数据时)。此值仅为默认大小,处理程序可以通过调用io.undertow.server.HttpServerExchange.setMaxEntitySize(long size)覆盖单个请求的此值。默认为无限制。
正如在this thread中所建议的,这可能是使用MultipartConfigFactory bean在Spring中配置的:
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setMaxFileSize("100MB");
factory.setMaxRequestSize("100MB");
return factory.createMultipartConfig();
}发布于 2019-03-29 00:03:30
@KarolDowbecki提出的建议可能会奏效,但也有另一种方法。在您正在使用的standalone.xml文件中,可以从以下位置进行更改:
<http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>至:
<http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true" max-post-size="16777216"/>在本例中,增加到16MB。至少在Wildfly 16上,默认值为10MB。
或者,如果您想编写脚本以便不必手动修改standalone.xml,则可以使用jboss-cli并运行:
/subsystem=undertow/server=default-server/http-listener=default/:write-attribute(name=max-post-size,value=16777216)https://stackoverflow.com/questions/55394427
复制相似问题