Welche HTTP-Header für die Einstellung Form Feldnamen (multipart / form-data) zu verwenden,

StackOverflow https://stackoverflow.com/questions/101662

  •  01-07-2019
  •  | 
  •  

Frage

Ich bin vorbei raw HTTP-Anforderungen an einem Apache-Server (mit PHP erhalten). Die Anforderung ist vom Typ Multipart / Form-Daten, das heißt den gleichen MIME-Typ verwendet, wenn HTML-Formulare einreichen. Allerdings bin ich mir nicht sicher, welche HTTP-Header für die Einstellung der Formularfeldnamen zu verwenden (ich gehe davon nur ist es ein Kopf diese definieren, weiß nicht, was es sonst sein könnte), die dann in PHP verwendet werden kann, um Zugriff auf die Feld _FILES $ _GET oder $ in.

Die HTTP-Anforderung wie folgt aussehen könnte:

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--
War es hilfreich?

Lösung

Die Content-Disposition-Header haben einen Namen Argument, das den Steuer Namen hat. Es sollte nach jedem --sub_boundary sein

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

ich fast vergessen: Wenn das Feld eine Datei Kontrolle ist, gibt es auch ein Dateinamen-Feld und einen Content-Type-Header

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

und wenn die Datei nicht Text ist, müssen Sie auch

Content-Transfer-Encoding: binary
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top