0

我正在尝试使用最新的 Apache HTTP 客户端 (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

多部分表单请求可以有几个部分,每个部分都有一个名称(类似于常规表单请求)。给定名称,此名称可用于在服务器端检索特定部分。RFC 2388 中有很好的详细信息:

    3. multipart/form-data的定义

       media-type multipart/form-data 遵循所有 multipart 的规则
       [RFC 2046] 中概述的 MIME 数据流。在表格中,有一个
       由填写表格的用户提供的一系列字段。
       每个字段都有一个名称。在给定的表单中,名称是唯一的。

       “multipart/form-data”包含一系列部分。每个部分都是
       预计将包含一个内容处置标头 [RFC 2183],其中
       处置类型是“表单数据”,处置包含
       “名称”的(附加)参数,其中的值
       参数是表单中的原始字段名称。例如,一个部分
       可能包含标题:

            内容处置:表单数据;名称="用户"
于 2012-01-28T15:15:46.807 回答