Как сохранить png, которое я получил из post запроса

Пример запроса, который я получаю

HTTP/1.1 200 OK

Server: Cowboy

Connection: close

Content-Length: 29950

Content-Disposition: attachment; filename=test.png

Date: Sat, 22 May 2021 17:05:53 GMT

Via: 1.1 vegur

‰PNG

IHDR Х J ,p sRGB ®Ой gAMA ±Џ ьa pHYs Г ГЗoЁd t“IDATx^нЅ‡·mЙUџ{я‚gО?‡ хM'џіs>9Яњsм›sи›CG%„„©A!ЌИ9‘ a2pЅп›µч№чv·@цѓgыЩwЊ9ЄVU­µц>]ЯъН9«ЦоUѓ}е¤

TS__) P ЧУъЃJZЅ®Ц¬/ҐХШZЪWчU(+й ґЇf¬х(±Хл‹i]9х ЦRяP5­уZѓ•ґћkЇл+F}cЦS_K№v]!ЖфVгь>Їµv4­ЎЅЏ±CcЌ4\h¦Ѓб|Ѕ§и[ЅnЊу№еЪµcic{хµkF)GУа`9­__HkhsмSkFё~!®ЅzэЗЈaЫоgrМЧ Зх-ЅЧVS®c,х§<[Ншhcњн_рФЯҐ@9Из¦Я>О{Зk©ЇжZ}њіћъъµГ©=џ…юяґчЇ§ќ1CSВ7Ъ_HЈфsњлcixЭH*фЏҐЧ(Ry°H}4U‡J©ЬgYLEЋ­kЕuГф§б5ѓњЛ=Ц Ґкѓґ­]=”†V¤…‘BZJ›GЗТ†ЎaКСґµP и так далее

Мой код

    boost::asio::ip::tcp::iostream request_stream("localhost", "http");
    request_stream << "POST / HTTP/1.1\r\nHost: localhost\r\nContent-Type: text/plain\r\nContent-Length: " << key.length() << "\r\nConnection: close\r\n\r\n" << key;
    std::vector<std::string> headers;
    std::string header;
    while (std::getline(request_stream, header)) {
        headers.push_back(header);
    }
    std::string out;
    for (int i = 8; i < headers.size(); i++) {
        out += headers[i] + "\r";
    }
    ofstream myfile;
    myfile.open ("test.png");
    myfile << out;;
    myfile.close();

У меня почему-то получается неправильный формат png


Ответы (0 шт):