有没有人遇到过MAX_ENTITY_SIZE这个问题?我现在已经和它斗争了很长一段时间。我希望我只是做一些愚蠢的事情,或者有人为此找到了解决办法。
我在Ubuntu 64bit最新版本上使用G-WAN 4.2.7。
这是一个测试用例。只需在textarea上粘贴任何文本,然后单击“提交”。如果它小于4KB(或小于3.2KB),它将正常工作。如果它大于4KB,它将返回404未找到,但它应该工作,因为我将MAX_ENTITY_SIZE设置为200KB。
#include "gwan.h" // G-WAN exported functions
#include <string.h>
int main(int argc, char *argv[])
{
xbuf_t *reply = get_reply(argv);
int *entity = (int*)get_env(argv, MAX_ENTITY_SIZE);
char *text = NULL;
get_arg("stext=", &text, argc, argv);
if(text) // Check if text exist.
xbuf_xcat(reply, "Text: %s<br/><br/>%d", text, strlen(text));
static char form[] =
"<form method=\"post\">"
"<textarea name=\"stext\"></textarea><br/>"
"<input name=\"button\" type=\"submit\" value=\"Submit\" />"
"</form><br/>Entity Size: %d";
xbuf_xcat(reply, form, *entity);
return 200;
}
别忘了增加MAX_ENTITY_SIZE限制:
int init(int argc, char *argv[])
{
int *entity = (int*)get_env(argv, MAX_ENTITY_SIZE);
*entity = 200 * 1024;
return 0;
}
更新:
在Ubuntu 10.10上测试过同样的问题。
答案 0 :(得分:0)
我遇到了同样的问题。
从我自己的测试中,您可以发送一个最多3663字节的文件,但任何POST 3664字节及更大的字符都将返回404,无论MAX_ENTITY_SIZE值如何。不知道为什么使用3663的任意限制......
应该可以编写一个自定义处理程序来解决这个问题,但这充其量是烦恼。希望我们能尽快得到解决。
答案 1 :(得分:0)
G-WAN v4.2.19附带增强型entity.c
和entity_size.c
示例,这些示例已经过 1.7 MiB文件上传测试。试试吧。
答案 2 :(得分:-1)
它生成HDL_HTTP_ERRORS。所以servlet无法执行。