C++で画像ファイルをバイナリ文字データにする

C++で画像をバイナリの文字データにして、ほかの文字と結合したいのですが
データが途中で切れてしまいます。

読み込んでいる画像は500x500のPNG画像です。

C++

// OpenCVで画像読込 cv::Mat img = cv::imread("D:\\image.png"); std::vector<unsigned char> buff; cv::imencode(".png", img, buff); std::string file_content(buff.begin(), buff.end()); // ボディ作成 std::string boundary = "----WebKitFormBoundaryxxxxyz"; std::string sBody = "\r\n--" + sBoundary + "\r\nContent-Disposition: form-data; name=\"file\"; filename=\"image.png\"" + "\r\nContent-Type: image/png" + "\r\n\r\n" + file_content.data() // ★ここで文字列にデータを追加 + "\r\n--" + sBoundary+ "--\r\n";

結合後の内容はVisualStudioのテキストビジュアライザーでは以下のように見えます。本当はもっとデータがあるはずなのですが。
イメージ説明

コメントを投稿

0 コメント