2017-04-11 8 views
0

こんにちは私はスタンドアロンのアプリケーションでjavaでvertxを使ってWebアプリケーションのポートを読み込んでいます。私はフォームから投稿データを取得したい。 私のWebアプリケーションには、私が読もうとしている投稿メソッドを持つフォームがあります。 私のロジックはマルチフォームフォームポスト要求ハンドラを作成する方法

  1. が作成される垂直方向の

  2. HTTPサーバ作成

  3. (それは私の コード内のすべてのパラメータを取りません)聞くハンドラ要求を作成しますhttpServerの
  4. ハンドラでのマルチパート要求を期待する
  5. マルチマップとフォームの属性を取得

私は欠けていることを知りません。私は頂点に慣れていません。

何らかの理由で私はここにコードを投稿できません。

マイコード: https://pastebin.com/A1hjXFb6

答えて

0

は、あなたのHTMLフォームがenctype="multipart/form-data"属性を持っていることを確認します。あなたのVERTXコードで次に

public class loginLogic extends AbstractVerticle { 

    //Vertx vertx; 
    private HttpServer httpServer = null; 

    @Override 
     public void start() { 
      Router router = Router.router(vertx); 
      router.route().handler(BodyHandler.create().setUploadsDirectory("uploads")); 
      router.post("/form").handler(ctx -> { 
        ctx.response().putHeader("Content-Type", "text/plain"); 
        ctx.response().setChunked(true); 
        for (FileUpload f : ctx.fileUploads()) { 
        System.out.println("f"); 
        ctx.response().write("Filename: " + f.fileName()); 
        ctx.response().write("\n"); 
        ctx.response().write("Size: " + f.size()); 
        } 

        ctx.response().end(); 
      }); 
      vertx.createHttpServer().requestHandler(router::accept).listen(8080); 
    } 
} 
+0

ライブラリ私はルータのルータ= Router.router(VERTX)を実装する必要があります。 –

+0

アップロードを有効にする必要はありますか? 私が望むのは、フォームから投稿データを取得することです。 –

+0

ルータは、頂点 'io.vertx.ext.web.Router'の一部です。有効にする必要はありません。アップロードパスを設定するだけです。 –

関連する問題