Какой HTTP-заголовок использовать для установки имен полей формы (multipart/form-data)
-
01-07-2019 - |
Вопрос
Я передаю необработанные 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--
Решение
Заголовок 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