@Lyspov

Как загрузить на сервер вк изображение?

Получаю ссылку для загрузки сообщения через запрос, всё ок, отправляю по этой ссылке изображение и программу крашит, кто может увидеть ошибку в моем коде и подсказать? Заранее благодарен!
static string upload;
static std::string content;
static std::string content2;
if (ImGui::Button(u8"Получение ссылки", ImVec2(110, 31)))
{

	CURL* curl_handle;
	curl_handle = curl_easy_init();

	std::string url = (xorstr("https://api.vk.com/method/photos.getMessagesUploadServer?личная инфа)&v=5.131"));

	if (curl_handle)
	{
		curl_easy_setopt(curl_handle, CURLOPT_URL, url.c_str());
		curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, 0L);
		curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYHOST, 0L);
		curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, writer);
		curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, &content);
		CURLcode res = curl_easy_perform(curl_handle);
		curl_easy_cleanup(curl_handle);
		nlohmann::json responseJson = nlohmann::json::parse(content);
		nlohmann::json response = responseJson["response"];
		upload = response["upload_url"];
	}
}
if (ImGui::Button(u8"Отправка изображения", ImVec2(110, 31)))
{
	CURL* curl_handles;
	curl_handle = curl_easy_init();
	if (curl_handles)
	{

		struct curl_httppost* formpost = NULL;
		struct curl_httppost* lastptr = NULL;

		curl_formadd(&formpost,
			&lastptr,
			CURLFORM_COPYNAME, "file1",
			CURLFORM_FILENAME, "screenshot 2015-03-09 001_en.png",
			CURLFORM_FILE, "D:\\screenshot 2015-03-09 001_en.png",
			CURLFORM_CONTENTTYPE, "image/png",
			CURLFORM_END);
		curl_easy_setopt(curl_handles, CURLOPT_URL, upload);
		curl_easy_setopt(curl_handles, CURLOPT_HTTPPOST, formpost);
		curl_easy_setopt(curl_handles, CURLOPT_WRITEDATA, &content2);
		CURLcode res = curl_easy_perform(curl_handle);
		curl_easy_cleanup(curl_handles);
		nlohmann::json responseJson = nlohmann::json::parse(content2);
		string photo = responseJson["photo"];
		cout << photo << endl;
		
	}
}
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы