java - 使用 ajax 请求发布大型 JSON 对象
问题描述
我需要帮助在 angularjs 中使用 ajax 将大型 JSON 对象发布到服务器。当我在使用 post 请求中发送带有大约 10000 条记录的 JSON 对象时ArrayList
,它被接受并且我得到相同的响应。但是当我上传 30000 条或更多记录并尝试使用 ajax 发送它时,它返回以下错误:-
[io.undertow.request] (default task-5) UT005007: Request was not fully consumed
我怎样才能解决这个问题?
我正在使用 Wildfly 10 和 java 8。我可以增加任何帖子大小参数吗?
解决方案
您似乎正在使用Undertow来接收 POST 请求。检查设置中选项的值是多少MAX_ENTITY_SIZE
,也许它是有限的:
请求实体的默认最大大小。如果实体主体大于此限制,则
java.io.IOException
在读取请求时(在第一次读取固定长度请求时,当为分块请求读取过多数据时)将在某个时候抛出 a。该值只是默认大小,处理程序可以通过调用io.undertow.server.HttpServerExchange.setMaxEntitySize(long size)
. 默认为无限制。
正如此线程中所建议的,这可能在 Spring 中使用MultipartConfigFactory
bean 进行配置:
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setMaxFileSize("100MB");
factory.setMaxRequestSize("100MB");
return factory.createMultipartConfig();
}
推荐阅读
- reactjs - 我怎么能在 useState React 中发送 setStateAction
- ruby-on-rails - 如何使用 Hotwire 和 Turbo.js 访问 current_user 助手?
- python - Google Places API,如何获得下 20 个结果?
- r - 如何使用变量作为ggplot的参数?
- javascript - 从选择元素中选择选项时,控制台日志加倍
- javascript - 使用 JavaScript 获取 textarea 值并将其插入到地图上
- ios - 如何在烛台图表的蜡烛顶部和底部绘制自定义视图
- sql - 访问数据库。VBA 查询
- objective-c - 如何用同一个对象(NSString)填充整个 NSMutableArray
- spring-boot - 如何在 feign client spriong Boot 中设置值