【问题标题】:What HTTP header to use for setting form field names (multipart/form-data)用于设置表单字段名称的 HTTP 标头(multipart/form-data)
【发布时间】:2008-09-19 13:03:26
【问题描述】:

我将原始 HTTP 请求传递给 apache 服务器(由 PHP 接收)。请求的类型为 multipart/form-data,即与提交 HTML 表单时使用的 MIME 类型相同。 但是,我不确定使用什么 HTTP 标头来设置表单字段名称(我只是假设它是一个定义这个的标头,不知道它可能是什么),然后可以在 PHP 中使用它来访问$_GET 或 $_FILES 中的字段。

HTTP 请求可能如下所示:

Content-type: multipart/form-data;boundary=main_boundary

--main_boundary
Content-type: text/xml
<?xml version='1.0'?>
<content>
Some content goes here
</content>

--main_boundary
Content-type: multipart/mixed;boundary=sub_boundary

  --sub_boundary
  Content-type: application/octet-stream

  File A contents

  --sub_boundary
  Content-type: application/octet-stream

  File B contents

  --sub_boundary

--main_boundary--

【问题讨论】:

    标签: php http multipartform-data


    【解决方案1】:

    Content-Disposition 标头有一个带有控件名称的名称参数。每个 --sub_boundary 后面应该有一个

    --sub_boundary
    Content-Disposition: form-data; name="mycontrol"
    

    我差点忘了:如果字段是文件控件,还有一个文件名字段和一个 Content-Type 标头

    --sub_boundary
    Content-Disposition: form-data; name="mycontrol"; filename="file1.xml"
    Content-Type: application/xml;
    

    如果文件不是文本,你还需要

    Content-Transfer-Encoding: binary
    

    【讨论】:

      猜你喜欢
      • 2016-09-08
      • 2014-05-13
      • 2019-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多