CppRestSDK Как разместить многочастные данные - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь отправить многокомпонентные данные на сервер, я переключаюсь на CPPRestSDK из CPR, но я не могу найти какую-либо документацию по нему

Исходя из КПП, https://github.com/whoshuu/cpr

Это значит, что я пробовал этот код, но просто не могу найти документацию на cpprestsdk для составных данных.

    cpr::Multipart multipart_data{};

    for (size_t i = 0; i < files.size(); i++) {
        if (!is_image_or_gif(files[i].filepath)) {
            std::string entire_file = read_entire_file(files[i].filepath);
            std::string custom_filename{ files[i].spoiler ? "SPOILER_" : "" };
            multipart_data.parts.emplace_back(
                "file" + std::to_string(i),
                cpr::Buffer{ entire_file.begin(),
                             entire_file.end(),
                             custom_filename + files[i].filename },
                "application/octet-stream");
        } else {
            multipart_data.parts.emplace_back("file" + std::to_string(i),
                                              cpr::File(files[i].filepath),
                                              "application/octet-stream");
        }
    }

    auto payload_json = nlohmann::json{
        { "content", content },
        { "tts", tts }
    }.dump();
    multipart_data.parts.emplace_back("payload_json", payload_json);

    auto response = cpr::Post(
        cpr::Url{ endpoint("/channels/%/messages", id) },
        cpr::Header{ { "Authorization", format("Bot %", discord::detail::bot_instance->token) },
                     { "Content-Type", "multipart/form-data" },
                     { "User-Agent", "DiscordBot (http://www.github.com/yuhanun/dpp, 0.0.0)" },
                     { "Connection", "keep-alive" } },
        multipart_data);

Где структура file совершенно очевидна.

Заголовки, хорошо, я понял, мне просто нужна помощь в отправке многокомпонентных данных в основном:)

Мой ожидаемый результат - дать серверу ответ «json» с успехом, который в данном случае является объектом сообщения отправленного сообщения, однако сейчас я даже не знаю, с чего начать.

...