2

複数のバイナリファイルを含むPOSTリクエストをHTTPサーバーに送信しようとしています。サーバーはcgiccを使用してリクエストを解釈します。

単一のファイルの場合、次のように機能します。

cgicc::Cgicc cgi;
cgicc::const_file_iterator file;
file = cgi.getFile("file_1");
if(file != cgi.getFiles().end())
{
      std::stringstream stringStream;
      file->writeToStream(stringStream);
      //do whatever with stringStream
}

さて、複数のファイルを投稿したいのですがcgi.getFile("file_x")、各ファイルを呼び出すために添付ファイルの名前が事前にわからないとしますが、それらすべてを繰り返す方法はありますか?GETパラメーターの場合、これを行うことができます。

cgicc::Cgicc cgi;
const std::vector<cgicc::FormEntry> &formElements = cgi.getElements();
for (std::vector<cgicc::FormEntry>::const_iterator i = formElements.begin(); i != formElements.end(); ++i)
{
    //process each (*i)
}
4

1 に答える 1

1

私はそれを理解しました(それは明白でしたが、十分に文書化されていません):

cgicc::Cgicc cgi;
const std::vector<cgicc::FormFile> &formFiles= cgi.getFiles();
for (std::vector<cgicc::FormFile>::const_iterator i = formFiles.begin(); i != formFiles.end(); ++i)
{
    //process each (*i)
}
于 2012-08-06T16:58:58.087 に答える