针对于I.MX6ULL平台下对LIBCURL库的整体使用

对LIBCURL库的移植

封装FTP文件上下载相关

过程问题记录

  • 无法进行FTP文件上传
    主要问题需要配置CURLOPT_UPLOAD为1才能进行上传,如果要下载需要配置为0L.
    配置指定回调上传文件CURLOPT_READFUNCTION以及回调传参CURLOPT_READDATA.
    文件上行回调和下行回调不能同时绑定(等待验证,目前猜测只要配置CURLOPT_UPLOAD即刻)
curl_easy_setopt(ftpPara->curlHanle, CURLOPT_UPLOAD, 1L);
curl_easy_setopt(ftpPara->curlHanle, CURLOPT_READFUNCTION, read_callback);	
curl_easy_setopt(ftpPara->curlHanle, CURLOPT_READDATA, (void *)ftpPara);		//绑定上传参数
  • 当FTP目录存在目标文件时上传报错
    目前想到的规避方法,生成一个临时文件,当这个文件下载完成后,再将其转换为最后目标文件名,每次现在前删除临时文件,再继续下载。流程如下:
    在这里插入图片描述

封装HTTP文件上下载相关

过程问题记录

通用问题

  • -文件上下载进度条提示

    需要设置CURLOPT_XFERINFOFUNCTION进度条回调和CURLOPT_XFERINFODATA参数.
    设置CURLOPT_NOPROGRESS为0L.

  • 文件上下载进度条过程中打印为0
    打印要用CURL_FORMAT_CURL_OFF_T来打印.

fprintf(stdout, "totalSize: %" CURL_FORMAT_CURL_OFF_T ", size);
int progress_callback(void *clientp, 
			curl_off_t dltotal,c url_off_t ultotal,c url_off_t ulnow);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XFERINFOFUNCTION,
                          progress_callback);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值