• CURLOPT_PROGRESSFUNCTION


    Author:李强(李祥祥)

    Date   :2012-12-15 17:26

    LIBCURL官方网站都没有说清楚道明白进度函数的参数的作用,这点我感觉文档很片面,经总结如下:

    size_t CUploader::ProgressCallBackFun(void *buffer, 
               double dltotal, 
               double dlnow, 
               double ultotal, 
               double ulnow)

    1.当下载时候使用了前面两个参数dltotal,dlnow表示要下载的总的字节大小(如何是续传,dltotal不包含其大小,仅表示需要下载的大小),dlnow表示现在已经下载的字节数。

    2.当为读取表示上传进度时候后面两个参数就起作用了ultotalulnow,ultotal表示需要上传的总大小、ulnow表示已经上传的字节的大小。

    一开始没注意,后来看到别人的实例程序发现,上传和下载使用的参数不一致才醒悟过来,原来参数名表示是这样的:

    dltotal:DownLoad TOTAL-->DLTOTAL:dltotal

    ultotal:  UpLoad TOTAL --->ULTOTAL:ultotal

    呵呵,libcurl你TM也不解释,害的我花这么长时间理解,由于长时间受恩与各大网友,我也不能不做点贡献。

    另外,为了实现上传和下载,我特意做了一个上传和下载工具,实践发现:当下载的时候,如果指定

     curl_easy_setopt(m_pCurl, CURLOPT_POST, true); 下载时不能指定为post方式,否则下载时进度函数dltotal,dlnow都为0,导致下载进度函数执行可能失败!!!!大家可注意了!

  • 相关阅读:
    linux rz -e
    (转载)总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法
    Searching the Web论文要点
    搜索提示(search suggest)文献阅读
    C++常用数据结构(对照python)
    FM,FFM,GBDT推导
    Ranking relevance in yahoo search (2016)论文阅读
    荀子劝学篇
    不要尝试去锯木屑
    3服务器Java虚拟机配置
  • 原文地址:https://www.cnblogs.com/RodYang/p/3431975.html
Copyright © 2020-2023  润新知