示例:
stringstream ss;
string srange;
long long llCurrentSize;
long long llTotalSize;
ss << llCurrentSize;
ss << "-";
ss << llTotalSize;
srange >> srange;
curl_easy_setopt(m_hCurl,CURLOPT_RANGE,srange.c_str());
注:CURLOPT_RANGE : 传递一个你想指定的范围。它应该是”X-Y”格式,X或Y是被除外的。HTTP传送同样支持几个间隔,用逗句来分隔(X-Y,N-M)。
踩坑点:
*文件写入方式为 追加 _wfopen_s(&m_pFile, strFilePath.c_str(), L"ab+");
*假设本地缓存文件大小为 llCurrentSize = 100M,等于需要下载的文件的总大小(llTotalSize)。
实际开发中遇到,当传入的llCurrentSize = llTotalSize时,导致该接口接着本地缓存文件又往文件末尾追加了100M的文件
当传入的llCurrentSize < llTotalSize时,则不会出现此问题。
*它应该是”X-Y”格式,X或Y是被除外的。(需要细品这句话)
https://github.com/bagder/everything-curl/blob/master/libcurl-http/ranges.md#http-ranges
参考:https://www.cnblogs.com/chang290/archive/2012/08/12/2634858.html