本文整理汇总了C++中MessageHeader::begin方法的典型用法代码示例。如果您正苦于以下问题:C++ MessageHeader::begin方法的具体用法?C++ MessageHeader::begin怎么用?C++ MessageHeader::begin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MessageHeader
的用法示例。
在下文中一共展示了MessageHeader::begin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handlePart
//------------------------------------------------------------------------------
void ofxWebServerUploadRouteHandler::handlePart(const MessageHeader& header, std::istream& stream) {
NameValueCollection::ConstIterator iter = header.begin();
// while(iter != header.end()) {
// cout << (*iter).first << "=" << (*iter).second << endl;
// ++iter;
// }
//
if(header.has("Content-Type")) {
string contentType = header["Content-Type"];
if(!isContentTypeValid(contentType)) {
ofLogError("ofxWebServerUploadRouteHandler::handlePart") << "Invalid content type: " << contentType;
return; // reject
}
} else {
ofLogError("ofxWebServerUploadRouteHandler::handlePart") << "No Content-Type header.";
return;
}
// is this an uploaded file?
if(header.has("Content-Disposition")) {// && header.has("form-data")) {
string contentDisposition = header["Content-Disposition"];
NameValueCollection parameters;
MessageHeader::splitParameters(contentDisposition.begin(),contentDisposition.end(),parameters);
if(parameters.has("filename")) {
try {
ofFile file(settings.uploadFolder + "/" + parameters["filename"], ofFile::WriteOnly);
cout << file.getAbsolutePath() << endl;
streamsize sz = StreamCopier::copyStream(stream,file);
// The section below is from StreamCopier::copyStream,
// and can be used for upload progress feedback
// int bufferSize = 8192;
// Buffer<char> buffer(bufferSize);
// streamsize len = 0;
// stream.read(buffer.begin(), bufferSize);
// streamsize n = stream.gcount();
// while (n > 0) {
// len += n;
// file.write(buffer.begin(), n);
// if (stream && file) {
// stream.read(buffer.begin(), bufferSize);
// n = stream.gcount();
// cout << n << endl;
// }
// else n = 0;
// }
file.close();
} catch(const Exception& exc) {
ofLogError("ofxWebServerUploadRouteHandler::handlePart") << exc.displayText();
} catch(const exception& exc) {
ofLogError("ofxWebServerUploadRouteHandler::handlePart") << exc.what();
} catch(...) {
ofLogError("ofxWebServerUploadRouteHandler::handlePart") << "Uncaught thread exception: Unknown exception.";
}
} else {
// error
}
}
}