Bezeichnung
form:AddStream -- fügt Datenströme zu einem Multipart/Formdata-HTTP-POST hinzu
Übersicht
form:AddStream(name, len, func[, userdata, type, filename, headers])
Beschreibung
form:AddStream() wird zum Anhängen einer Datenstromsektion verwendet, wenn ein HTTP-POST mit Multipart/Formdata erstellt wird (manchmal als RFC 2388-Posts bezeichnet). Übergeben Sie das Formularelement als Parameter an #CURLOPT_HTTPPOST, nachdem Sie alle Sektionen hinzugefügt haben, die Sie einschließen möchten. Siehe easy:SetOpt_HTTPPost für Details.

Sie müssen form:Free() aufrufen, nachdem der Formularbeitrag erstellt wurde, um die Ressourcen freizugeben.

Die Verwendung von POST mit HTTP 1.1 impliziert die Verwendung eines "Expect: 100-continue" Headers. Sie können diesen Header mit #CURLOPT_HTTPHEADER wie gewohnt deaktivieren.

Erstens gibt es einige Grundlagen, die Sie über Multipart/Formdata-Post verstehen müssen. Jeder Teil besteht aus mindestens einem NAME- und einem CONTENTS-Teil. Wenn der Teil für den Datei-Upload gemacht wird, gibt es auch einen gespeicherten CONTENT-TYPE und einen FILENAME (Dateiname). Im Folgenden werden wir besprechen, welche Optionen Sie verwenden, um diese Eigenschaften in den Teilen festzulegen, die Sie Ihrem Beitrag hinzufügen möchten.

Das Argument name muss eine Zeichenkette sein, die den Namen dieses Teils liefert. Der Name darf keine nullwertigen Bytes enthalten.

Der Parameter len muss die Anzahl der hinzuzufügenden Bytes enthalten. Der Parameter func muss ein Callback sein. Die Callback-Funktion wird aufgerufen, um die tatsächlichen Daten zum Hinzufügen bereitzustellen. Diese Callback-Funktion wird wiederholt aufgerufen, bis es genau len Bytes zurückgegeben hat. Die Callback-Funktion verhält sich genau wie der Befehl #CURLOPT_READFUNCTION. Siehe easy:SetOpt_ReadFunction für Details. Wenn Sie das optionale Argument userdata übergeben, wird der Wert, der von jedem Typ sein kann, als zweiter Parameter an Ihre Callback-Funktion übergeben.

Das optionale Argument type kann verwendet werden, um den CONTENT-Typ für das Teil festzulegen. Das optionale Argument filename kann verwendet werden, um einen gewünschten Dateinamen für die Datenströme festzulegen. Das optionale Argument headers kann verwendet werden, um zusätzliche Header für die POST-Sektion des Formulars anzugeben. Dies erfordert eine Tabelle mit einer Liste und hängt die Liste der Headers an die von libcurl automatisch erzeugten an.

Eingaben
name
Name des Elements
len
Anzahl der zu übermittelnden Bytes
func
Callback Funktion die den Datenstrom bereitstellt
userdata
Optional: Benutzerdaten, die an die Callback-Funktion übergeben werden sollen
type
Optional: Inhaltstyp für das Element
filename
Optional: Dateiname für den Content-Header
headers
Optional: zusätzlichen Header für die POST-Sektion

Navigation zeigen