很简单:我们使用libcurl easy界面将HUGE文件上传到在线数据存储。 我需要显示此上传的进度。我知道所有的fileinfo,所以基本上我必须找出已经发送了多少比特/字节并计算整个文件的持久性。
我查看了libcurl手册,但我没有找到有关上传进度的任何信息,仅用于下载进度。
我是libcurl的新手,我正在使用同事的功能。所以我可能会错过一些东西。
是否有使用 libcurl ?
监控上传进度的方法答案 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不会碰它。