0

libcurlを特定の状況に適応させようとして苦労しています。私がやっていることは、基本的に可変数のオブジェクトをメモリにロードし、それらに対してさまざまな変換を実行することです。次に、マルチパート投稿の一部としてそれらをアップロードします(もちろんシリアル化されたバイナリデータ)。

私が苦労しているのは、このパイプラインが完成したときにパーツとして追加し、その特定のパーツが投稿された後で削除したいということです。

私はおそらくそれに読み取り関数ptrを与えることを考えました、そしてコールバックでおそらく手動でパーツヘッダーとデータをバッファに供給しますか?このアプローチはかなりハックのようです。

私は通常のマルチパートアプローチ(マルチハンドルを使用)を試しましたが、すべてのデータを前もって、またはファイルから読み取る必要があるようです。私はlibcurlに対処させたくありません。

要約すると、接続を開き、http multipartpostrequestを開始します->メモリバッファに取得します->postattatchmentとして追加します(multipart)->それを送信します->データの次のチャンクを待ちます->完了するまで繰り返します。

よろしくお願いします。

4

1 に答える 1

0

curl_formadd()関数を使用してmultipart/form-dataHTTP ポストを準備し、CURLOPT_HTTPPOSTオプションを使用して実際に送信します。 各マルチパートのデータをカスタム ストリーミングできるように、接続のコールバックの使用を有効にするオプションcurl_formadd()があります。CURLFORM_STREAMCURLOPT_READFUNCTION

于 2013-02-13T21:04:17.700 に答える