C++ 可变长度数据对象的libcurl多部分post

C++ 可变长度数据对象的libcurl多部分post,c++,http,post,libcurl,multipart,C++,Http,Post,Libcurl,Multipart,我和libcurl在一起时遇到了困难,因为我试图使它适应特定的情况。我所做的基本上是将数量可变的对象加载到内存中,对它们执行各种转换,然后我想将它们(当然是序列化的二进制数据)作为多部分文章的一部分上传 我正在努力解决的问题是,我只想在他们完成这条管道时将其作为一个部分添加,然后在发布特定部分后将其删除 我曾经考虑过给它一个读取函数ptr,在回调函数中,可能手动向缓冲区提供部分头和数据?这种方法似乎是一种相当复杂的方法 我曾经尝试过常规的多部分方法(使用多句柄),但这似乎需要所有的数据,或者从文

我和libcurl在一起时遇到了困难,因为我试图使它适应特定的情况。我所做的基本上是将数量可变的对象加载到内存中,对它们执行各种转换,然后我想将它们(当然是序列化的二进制数据)作为多部分文章的一部分上传

我正在努力解决的问题是,我只想在他们完成这条管道时将其作为一个部分添加,然后在发布特定部分后将其删除

我曾经考虑过给它一个读取函数ptr,在回调函数中,可能手动向缓冲区提供部分头和数据?这种方法似乎是一种相当复杂的方法

我曾经尝试过常规的多部分方法(使用多句柄),但这似乎需要所有的数据,或者从文件中读取。我不想让libcurl处理这个问题

总而言之,我想打开一个连接,启动http多部分post请求->进入内存缓冲区->添加为post附件(多部分)->发送它->等待下一块数据->重复直到完成


感谢您的高级支持。

使用该功能准备一个
多部分/表单数据
HTTP post,然后使用该选项实际发送它
curl\u formadd()
有一个
CURLFORM\u STREAM
选项,用于启用连接的
CURLOPT\u READFUNCTION
回调,以便您可以自定义流式传输每个多部分的数据。

是否因为您试图发送的数据太大而无法放入内存?是的,数据量是可变的,所以它可能很小,也可能很大。无论哪种方式,我都试图保持磁盘io非常低。