Какой HTTP-заголовок использовать для установки имен полей формы (multipart / form-data) - PullRequest
0 голосов
/ 19 сентября 2008

Я передаю необработанные HTTP-запросы на сервер apache (полученный PHP). Запрос имеет тип multipart / form-data, то есть тот же тип MIME, который использовался при отправке HTML-форм. Однако я не уверен, какой 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--

1 Ответ

3 голосов
/ 19 сентября 2008

Заголовок Content-Disposition имеет аргумент name с именем элемента управления. Должен быть один после каждого --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
...