使用大型数据表单处理jsf ajax请求

问题描述 投票:0回答:1

当我尝试从我的jsf页面请求大数据(图像6Mo base64编码)到我的支持bean时,我遇到了问题

  1. 我使用javascript onmessage客户端将我的websocket端点(jetty嵌入式)编码的图像(大小为6Mo)Base64编辑到我的jsf页面
<h:inputHidden id="myInputHidden" value="#{myBean.base64DataImage}" />

<script>
document.getElementById("myForm:myInputHidden").value = data.value;
</script>

2.当我的base64字符串大于~2300000个字符时,我的动作监听器不会被执行

<p:commandLink id="myLink" actionListener="#{myBean.myActionListener}" process="@this,myInputHidden" update="@form" />

<script>
document.getElementById("myForm:myLink").click();
</script>

N.B:如果我放了一个小图像,我的动作监听器被正确执行,我可以在我的支持bean中使用我的图像

有人可以帮我告诉我请求的表单数据的限制是什么,以及是否有办法使其更大。

javascript jsf primefaces jboss7.x cdi
1个回答
0
投票

看起来你必须调整max-post-sizeHTTP Connector属性:

POST的最大大小(以字节为单位)将由容器FORM URL参数解析处理。可以通过将此属性设置为小于或等于0的值来禁用该限制。如果未指定,则此属性设置为2097152(2兆字节)。

默认的2,097,152字节限制解释了为什么您的2,300,000个字符串不能成功发布的原因。

应该还有错误写入服务器日志。

© www.soinside.com 2019 - 2024. All rights reserved.