1

生の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--
4

1 に答える 1

4

Content-Disposition ヘッダーには、コントロール名を持つ name 引数があります。各 --sub_boundary の後に 1 つある必要があります

--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
于 2008-09-19T13:06:59.783 に答える