我很难与libcurl一起努力使其适应特定情况。我正在做的主要是将可变数量的对象加载到内存中,对它们执行各种转换,然后我想上传它们(当然是序列化的二进制数据)作为多部分帖子的一部分。
我正在努力的部分是我想在他们完成这个管道时将它们作为一个部分添加,然后在发布特定部分后删除它们。
我想过或许给它一个读取函数ptr,并且在回调上可能手动用缓冲区提供部分头文件和数据?这种方法似乎非常糟糕。
我尝试过常规的多部分方法(使用多手柄),但这似乎需要预先提供所有数据,或者从文件中读取数据。我不希望libcurl处理。
总结一下,我想打开一个连接,启动http多部分帖子请求 - >进入内存缓冲区 - >添加为post attatchment(multipart) - >发送 - 关闭>等待下一个数据块 - >重复完成。
先谢谢。
答案 0 :(得分:0)
使用curl_formadd()
函数准备multipart/form-data
HTTP帖子,然后使用CURLOPT_HTTPPOST
选项实际发送它。 curl_formadd()
有一个CURLFORM_STREAM
选项,可以使用连接的CURLOPT_READFUNCTION
回调,因此您可以自定义流式传输每个多部分的数据。