2008-09-19 81 views
0

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

的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-- 

回答

3

的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 
+0

完美的解释。干杯! – sharkin 2008-09-19 13:19:49