Я нашел конвертировать PNG-файл в Base64, но он просит прочитать из потока файлов, как:
ostringstream sout;
istringstream sin;
// this is the object we will use to do the base64 encoding
base64 base64_coder;// now base64 encode the compressed data
base64_coder.encode(sin,sout);
У меня png в opencv конвертируется как:
imencode(".png", im, buf);
когда я хочу конвертировать
base64_coder.encode(buf,sout);
это просит поток ..
Мои знания C ++ ограничены, поэтому любая помощь приветствуется.
Цель для этого:
Мне нужно записать png изображения на mongodb, которые могут быть использованы meteorjs. Поэтому они просят закодировать base64. изображений.
Спасибо
РЕДАКТИРОВАТЬ: я это Cv :: Mat. OBJ. Я конвертирую его в PNG. Буф включает в себя PNG.
Я нашел :
auto base64_png = reinterpret_cast<const unsigned char*>(buf.data());
std::string encoded_png = "data:image/jpeg;base64,"+base64_encode(base64_png,buf.size());
заголовки в: GitHub
это решило мою проблему
Других решений пока нет …