首頁  >  問答  >  主體

windows - C++使用curl提交分块大文件,curl参数选取问题

ringa_leeringa_lee2764 天前954

全部回覆(1)我來回復

  • 怪我咯

    怪我咯2017-04-17 13:34:32

            curl_formadd(&formpost,
            &lastptr,
            CURLFORM_COPYNAME, "files[]",
            CURLFORM_BUFFER, filename.c_str(),//filename
            CURLFORM_BUFFERPTR, postdata,//the uploaded data
            CURLFORM_BUFFERLENGTH, strlen(postdata),//the length of uploaded data
            CURLFORM_CONTENTTYPE, "multipart/form-data",//contenttype
            CURLFORM_END);

    這就是分段的表單替換掉就好了,需要自己進行指標postdata的偏移控制。

    READFUNCITON所指定的回呼函數最好和CURLFORM_STREAM進行配合。

    使用回呼函數READFUNCTION上傳的時候,指定好回呼函數,但是回呼函數的第二和第三參數是沒有被指定的,換而言之就是每次讀取的資料量不定,curl如何靠這一個回調上傳完所有資料呢?
    這個在指定了回呼函數的情形下,curl會盡可能的去傳遞數據,當指定的回呼函數回傳0的時候,表示上傳完成。

    學習資料詳情請參閱:
    https://curl.haxx.se/libcurl/c/curl_easy_setopt.html
    https://curl.haxx.se/libcurl/c/curl_formadd.html
    http://blog.csdn.net/hzyong_c/article/details/7773494
    http://www.darkbull.net/opensource/bad/libcurl_tutorial/#
    http://www.seanyxie.com /libcurl%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85%E5%92%8C%E4%BD%BF%E7%94%A8%E6%96%B9 %E6%B3%95/

    自問自答了。

    回覆
    0
  • 取消回覆