尝试构建一个C ++应用程序以将图像上传到最重要的服务器(版本5.14.0)。并且我已经使用我的C ++代码获得了访问令牌,通道ID。但是我无法使用libcurl上传图像。 这是我的CPP代码(现在使用libcurl):
void uploadPicture(string url,string channelId,string path,string fileName,string token)
{
url += "/api/v4/files";
CURL *curl;
struct curl_httppost *formpost = NULL;
struct curl_httppost *lastptr = NULL;
curl_formadd(&formpost,&lastptr,CURLFORM_COPYNAME,"files",CURLFORM_FILE,path.c_str(),CURLFORM_FILENAME,"test.jpg",CURLFORM_CONTENTTYPE,"image/jpeg",CURLFORM_END);
curl_formadd(&formpost,"client_ids",CURLFORM_COPYCONTENTS,"channel_id",channelId.c_str(),CURLFORM_END);
struct curl_slist *headers = NULL;
string auth = "Authorization:Bearer ";
auth += token;
headers = curl_slist_append(headers,"Content-Type:multipart/form-data");
headers = curl_slist_append(headers,auth.c_str());
CURLcode res;
curl = curl_easy_init();
if (curl)
{
res = curl_easy_setopt(curl,CURLOPT_URL,url.c_str());
res = curl_easy_setopt(curl,CURLOPT_HTTPHEADER,headers);
res = curl_easy_setopt(curl,CURLOPT_HTTPPOST,formpost);
res = curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,getFileInfo);
res = curl_easy_setopt(curl,CURLOPT_POST,1);
res = curl_easy_perform(curl);
if (res != 0)
{
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
}
}
但是它不起作用...请告诉我问题出在哪里。