C ++ libcurl上传进度条

时间:2015-08-21 13:44:33

标签: c++ upload progress-bar libcurl

很简单:我们使用libcurl easy界面将HUGE文件上传到在线数据存储。 我需要显示此上传的进度。我知道所有的fileinfo,所以基本上我必须找出已经发送了多少比特/字节并计算整个文件的持久性。

我查看了libcurl手册,但我没有找到有关上传进度的任何信息,仅用于下载进度。

我是libcurl的新手,我正在使用同事的功能。所以我可能会错过一些东西。

是否有使用 libcurl

监控上传进度的方法

1 个答案:

答案 0 :(得分:0)

检查他们的documentation

  

由于历史和传统原因,libcurl具有内置功能   可以打开然后使其显示的进度表   终端中的进度表。

     

奇怪的是,设置开启进度表   CURLOPT_NOPROGRESS为零。默认情况下,此选项设置为1

     

但对于大多数应用程序,内置进度表无用   而有趣的是指定进度的能力   打回来。然后将调用传递给libcurl的函数指针   不规则的间隔,有关当前转移的信息。

     

使用CURLOPT_PROGRESSFUNCTION设置进​​度回调。通过   指向与此原型匹配的函数的指针:

  int progress_callback(void *clientp,
                        double dltotal,
                        double dlnow,
                        double ultotal,
                        double ulnow);
  

如果任何输入参数未知,则传递0。该   第一个参数,'clientp'是你传递给libcurl的指针   CURLOPT_PROGRESSDATA。 libcurl不会碰它。