zoukankan      html  css  js  c++  java
  • 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,导致下载进度函数执行可能失败!!!!大家可注意了!

  • 相关阅读:
    Analysis Services 查询性能十大最佳实践(转)
    谈谈一年来对“数据仓库”概念的困惑、探索和感悟(转)
    用sql语句添加删除主键
    大文件流操作及编码
    SQL Server CONVERT() 函数
    正则表达式提取案例1
    解析SQL SERVER存储过程返回值
    文件操作类Path
    HTTP状态码
    自己写的遮罩层效果
  • 原文地址:https://www.cnblogs.com/RodYang/p/3431975.html
Copyright © 2011-2022 走看看