代码拉取完成,页面将自动刷新
#include "crow_parse_template.h"
int parse_multipart(const crow::request& req, FormData &form_data, FileData &file_data) {
auto type = req.get_header_value("Content-type");
if ( type.find("multipart/form-data") != type.npos ) {
auto dpos = type.find("=");
if ( dpos == type.npos )
{
return -1;
}
std::string boundary = type.substr(dpos+1);
boundary.insert(0, "--");
//boundary += "\r\n";
auto period_pos1 = req.body.find(boundary);
if ( period_pos1 == req.body.npos )
{
return -1;
}
auto period_pos2 = req.body.find(boundary, period_pos1+1);
while ( period_pos2 != req.body.npos )
{
auto period_str = req.body.substr(period_pos1+boundary.length()+2, period_pos2-period_pos1-boundary.length()-2);
auto period_title_pos_end = period_str.find("\r\n");
auto period_title = period_str.substr(0, period_title_pos_end);
auto name_pos1 = period_title.find("name=\"");
auto name_pos2 = period_title.find("\"", name_pos1+6);
auto name = period_title.substr(name_pos1+6, name_pos2-name_pos1-6);
auto period_content_pos_end = period_str.length()-2;//find("\r\n", period_title_pos_end+4);
auto period_content = period_str.substr(period_title_pos_end+4, period_content_pos_end-period_title_pos_end-4);
auto size = period_content.size();
if ( period_title.find("filename") != period_title.npos )
{
file_data[name] = period_content;
}
else {
form_data[name] = period_content;
}
period_pos1 = period_pos2;
period_pos2 = req.body.find(boundary, period_pos1+1);
}
return 0;
} else {
return -1;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。