easy:SetOpt_WriteFunction(write_callback[, userdata])
Der erste Parameter, der an Ihre Callbackfunktion übergeben wird, ist eine
Zeichenkette, die die soeben empfangenen binären Rohdaten enthält. Wenn
Sie das optionale Argument userdata
übergeben, wird der in userdata
übergebene Wert als zweiter Parameter an Ihre Callbackfunktion übergeben.
Der Parameter userdata
kann einen beliebigen Typ haben.
Die Callback-Funktion wird in allen Aufrufen so viele Daten wie möglich
übergeben, aber Sie dürfen keine Annahmen treffen. Es kann ein Byte sein,
es können Tausende sein. Die maximale Menge an Stammdaten, die an den
Schreibcallback übergeben wird, ist wie folgt definiert: #CURL_MAX_WRITE_SIZE
(der übliche Standard ist 16K). Wenn #CURLOPT_HEADER
aktiviert ist, wodurch
die Header an den Schreibcallback übergeben werden, können Sie bis zu
#CURL_MAX_HTTP_HEADER
Bytes von Header erhalten, die an sie
übergeben werden. Das bedeutet in der Regel 100K.
Diese Funktion kann mit Null-Byte-Daten aufgerufen werden, wenn die übertragene Datei leer ist.
Ihr Callback sollte die Anzahl der tatsächlich bearbeiteten Bytes zurückgeben.
Wenn dieser Betrag von dem Betrag abweicht, der an Ihre Callbackfunktion
übergeben wurde, wird der Bibliothek ein Fehler gemeldet. Dadurch wird die
Übertragung abgebrochen und die verwendete libcurl-Funktion gibt
#CURLE_WRITE_ERROR
zurück.
Wenn Ihre Schreibfunktion nichts zurückgibt, signalisiert dies den Erfolg und die Übertragung wird fortgesetzt.
Wenn Ihre Callbackfunktion #CURL_WRITEFUNC_PAUSE
zurückgibt, wird diese
Übertragung angehalten. Weitere Informationen finden Sie unter dem Befehl
easy:Pause().
Function p_WriteData(data$) WriteBytes(1, data$) EndFunction e:SetOpt_WriteFunction(p_WriteData)Der obige Code installiert eine Schreibfunktion, die alle empfangenen Daten in die Datei mit dem Identifikator 1 schreibt.