У меня есть изображение, снятое с камеры, и я уже могу сохранить изображение как локальный файл.
cv::Mat croppedImage = .....;
Я также могу отправить простые данные в мой Rails API с помощью curlpp:
std::stringstream response;
curlpp::Easy request;
std::list<std::string> header;
header.push_back("Content-Type: application/json");
std::time_t t = std::time(0);
std:string body = "";
std::string encoded = "testing1.jpg";
ostringstream os;
os << "[URL]/api/v1/faces?api_key=&person_id=" << "×tamp=" << t << "&area_id=2&image_path=" << encoded;
string url = os.str();
request.setOpt( new curlpp::options::Url( url ) );
request.setOpt(new curlpp::options::HttpHeader(header));
request.setOpt(new curlpp::options::PostFields(body));
request.setOpt(new curlpp::options::PostFieldSize(body.length()));
request.setOpt( new curlpp::options::WriteStream( &response ) );
request.perform();
std::cout << response.str();
Однако я не смог отправить изображение. Должен ли я преобразовать изображение в base64, а затем отправить на сервер? Мне нужно сохранить это изображение в AWS S3 в бэкэнде после того, как API получил изображение.
Я видел некоторые темы, в которых мы можем отправить данные изображения в качестве тела запроса POST с помощью curlpp. Но я не уверен, как после этого обрабатывать данные изображения на моем API бэкэнда.