我们使用libcurl
C API通过SFTP发送文件.使用这样的代码可以很好地工作:
....
fd = fopen(local_file_full_path.c_str(), "rb");
if (!fd)
{
cout << "Error opening local file: " << local_file_full_path << endl;
return -1;
}
curl_easy_setopt(curl_easy_handle, CURLOPT_UPLOAD, 1L);
curl_easy_setopt(curl_easy_handle, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(curl_easy_handle, CURLOPT_READDATA, fd);
curl_easy_setopt(curl_easy_handle, CURLOPT_HTTPHEADER, headerList);
然而,这意味着,即使我们有可用的数据,我们也必须将它们写入一个文件,然后将文件传递出go .
我想知道libcurl
是否提供了一个选项,在这个选项中,我们可以传递一个数据流,例如一个指针到我们的数据 struct 中.如果是这样的话,我能举个例子吗?这是否意味着"接收者"端需要改变——因为我们并不拥有它.