-1

すべて、ここで提案されたスレッドを検索しようとしましたが、利用可能ではありません.

libCURL POST リクエストを使用して、ファイルを Web サーバーに送信する必要があります。送信するファイルを作成しているので、存在することがわかります。ここには WireShark もインストールされているので、何が送信されるかがわかります。

デバッグ セッション中に、ファイルが読み取られ、読み取られたバッファが送信されていることがわかります。ただし、WireShark では、すべて FF FF FF FF シーケンスとして表示されます。

そして最後に、「本文の書き込み中にエラーが発生しました」というエラー メッセージが CURL に返されて操作が失敗します。

何が問題なのですか?

これが私がこれまでに試したことです:

1.

result = curl_formadd( &first, &last, CURLFORM_COPYNAME, "MyFile", 
                       CURLFORM_FILE, (const char *) fileName.c_str(), 
                       CURLFORM_FILENAME, (const char *) fileName.c_str(), 
                       CURLFORM_CONTENTSLENGTH, (long) file.Length(), 
                       CURLFORM_CONTENTTYPE, "image/bitmap", CURLFORM_END );

2.

result = curl_formadd( &first, &last, CURLFORM_COPYNAME, "MyFile", 
                       CURLFORM_FILENAME, (const char *) fileName.c_str(), 
                       CURLFORM_STREAM, &file, CURLFORM_CONTENTSLENGTH,
                       (long) file.Length(), CURLFORM_CONTENTTYPE, 
                       "image/bitmap", CURLFORM_END );

次に、両方の場合で:

curl_easy_setopt( handle, CURLOPT_HTTPPOST, first );
curl_easy_setopt( handle, CURLOPT_POSTFIELDSIZE, file.Length() );

どちらの場合もヘッダーは正しく形成されますが、データ自体は送信されません。

誰かアイデアがありますか?私は非常に単純なものが欠けているように感じます...

4

1 に答える 1

1

ALL、接続しようとしたサービスがダウンしていたことがわかりました。

ご聴取ありがとうございました。

于 2012-07-31T02:20:21.937 に答える