0

誰かがMAX_ENTITY_SIZEでこの問題を抱えていますか?私はかなり長い間これと戦っています。私はただ愚かなことをしている、または誰かがこれに対する解決策を見つけたことを願っています。

Ubuntu64ビットの最新バージョンでG-WAN4.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;
}

アップデート:

同じ問題でUbuntu10.10でテストされました。

4

3 に答える 3

0

G-WAN v4.2.19には、1.7MiBファイルのアップロードでテストされた拡張された例が付属していentity.cます。試してみてください。entity_size.c

于 2013-02-20T07:53:25.303 に答える
0

私は同じ問題に直面しています。

私自身のテストでは、最大3663バイトのファイルをPOSTできますが、POST 3664バイト以上の場合、MAX_ENTITY_SIZEの値に関係なく404が返されます。3663の任意の制限が使用される理由がわかりません...

この問題を回避するためのカスタムハンドラーを作成することは可能であるはずですが、それはせいぜい厄介です。うまくいけば、すぐに修正を取得できます。

于 2013-02-14T02:45:13.737 に答える
-1

HDL_HTTP_ERRORSを生成します。したがって、サーブレットが実行される方法はありません。

于 2013-02-08T09:37:08.690 に答える