form:AddBuffer(name, filename, content[, type, headers])
form:AddBuffer()
wird zum Anhängen einer Datei-Hochlade-Sektion
(aus einer Pufferquelle) beim Erstellen eines HTTP-POST mit mehreren
Multipart/Formdata (manchmal als RFC 2388-Posts bezeichnet) verwendet.
Übergeben Sie den Form-Handle 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 Form-Post ausgeführt wurde, um die Ressourcen freizugeben.
Die Verwendung von POST mit HTTP 1.1 impliziert die Verwendung eines Headers
"Expect: 100-continue". Sie können diese Header wie gewohnt mit
#CURLOPT_HTTPHEADER
deaktivieren.
Erstens gibt es einige Grundlagen, die Sie über Posts mit mehreren
Multipart/Formdata verstehen müssen. Jeder Teil besteht aus mindestens
einem NAME-
und einem CONTENTS
-Teil. Wenn der Teil zum Hochladen von
Dateien erstellt wurde, gibt es auch einen gespeicherten
CONTENT-TYPE
} und einen FILENAME
(Dateiname). Im Folgenden werden die
Optionen erläutert, mit denen Sie diese Eigenschaften in den Teilen festlegen,
die Sie zu Ihrem Post hinzufügen möchten.
Das Argument name
muss eine Zeichenkette sein, die den Namen dieses Teils
angibt. Der Name darf keine nullwertigen Bytes enthalten. Das Argument
filename
muss eine Zeichenkette sein, die das Feld Dateiname in dem
Content-Header enthält. Das Argument content
muss die tatsächlich zu
sendenden Daten enthalten. Das optionale Argument type
kann verwendet
werden, um den Content-Typ für den Teil festzulegen und 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 Header an die von libcurl automatisch
erzeugten an.