0

最新のApacheHTTPクライアント(v4.x)を使用してマルチパートPOSTリクエストを送信しようとしています-ドキュメントで提供されているサンプルコードは、POSTリクエストを作成するための次のコードサンプル(多少変更されています)を示しています-

        FileBody bin = new FileBody(new File(args[0]));
        StringBody comment = new StringBody("A binary file of some kind");
        MultipartEntity reqEntity = new MultipartEntity();
        reqEntity.addPart("bin", bin);
        reqEntity.addPart("comment", comment);
        httppost.setEntity(reqEntity);

私が混乱しているのは、追加するファイルが複数ある場合は、コード内にあるということです。

   reqEntity.addPart("bin", bin);

最初の文字列は何を表していますか?マルチパート投稿の一部として送信されているファイルの名前ですか?

4

1 に答える 1

1

マルチパートフォームリクエストには複数のパートを含めることができ、各パートには名前が付けられます(通常のフォームリクエストと同様)。この名前は、サーバー側で名前を指定して特定の部分を取得するために使用できます。詳細については、RFC2388を参照してください。

    3. multipart/form-dataの定義

       メディアタイプmultipart/form-dataは、すべてのmultipartのルールに従います
       [RFC2046]で概説されているMIMEデータストリーム。フォームには、
       フォームに入力するユーザーが入力する一連のフィールド。
       各フィールドには名前があります。特定のフォーム内では、名前は一意です。

       「multipart/form-data」には、一連のパーツが含まれています。各部分は
       content-dispositionヘッダー[RFC2183]が含まれていると予想されます。
       配置タイプは「form-data」であり、配置には次が含まれます
       「name」の(追加の)パラメータ。ここで、その値は
       パラメータは、フォームの元のフィールド名です。たとえば、一部
       ヘッダーが含まれる場合があります:

            Content-Disposition:form-data; name = "user"
于 2012-01-28T15:15:46.807 に答える