Установить тело запроса при вызове API с помощью C ++ Rest SDK - PullRequest
0 голосов
/ 30 января 2019

Я хочу вызвать Face API Microsoft Computer Vision, чтобы опубликовать изображение с помощью C ++ Rest SDK.Я успешно с методом GET, но я не знаю, что делать с методом POST.Я понял, что проблема в методе "request.set_body".Я хочу использовать его двумя способами: один публикует картинку с моего компьютера, другой публикует картинку по ссылке на сайте.Если кто-нибудь знает об этой проблеме, пожалуйста, помогите мне.Спасибо.

Вот ссылка на Face API: https://westcentralus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236 А вот и код.В этом коде я пытаюсь опубликовать картинку с сайта:

{
    http_client client(U("https://westcentralus.api.cognitive.microsoft.com/face/v1.0/detect"));

    http_request request(methods::POST);
    request.headers().set_content_type(L"application/json");

    uri_builder builder;
    // Append the query parameters: [?returnFaceId][&returnFaceLandmarks]
    builder.append_query(U("returnFaceId"), U("true"));
    builder.append_query(U("returnFaceLandmarks"), U("false"));
    builder.append_query(U("subscription-key"), U("*********************"));

    web::json::value requestParameters;
    requestParameters[U("bar")] = web::json::value::object(U("https://cdn.explus.vn/media.phunutoday.vn/files/upload_images/2016/02/02/my-tam-cam-ngan-mo-5-phunutoday_vn.jpg"));

    utility::stringstream_t paramStream;
    requestParameters.serialize(paramStream);

    request.set_body(paramStream.str());
    request.set_request_uri(builder.to_uri());

    auto path_query_fragment = builder.to_string();

    // Make an HTTP GET request and asynchronously process the response
    return client.request(request).then([](http_response response)
...