使用GNU cgicc处理多个POST附件

时间:2012-08-06 16:39:32

标签: c++ post cgi httprequest multiple-files

我正在尝试将包含多个二进制文件的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)
}

1 个答案:

答案 0 :(得分: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)
}