cgicc::FormFile Class Reference

Class representing a file submitted via an HTML form. More...

#include <cgicc/FormFile.h>

List of all members.

Public Member Functions

Constructors and Destructor
 FormFile ()
 Default constructor.
 FormFile (const std::string &name, const std::string &filename, const std::string &dataType, const std::string &data)
 Create a new FormFile.
 FormFile (const FormFile &file)
 Copy constructor.
 ~FormFile ()
 Destructor.
Overloaded Operators
bool operator== (const FormFile &file) const
 Compare two FormFiles for equality.
bool operator!= (const FormFile &file) const
 Compare two FormFiles for inequality.
FormFileoperator= (const FormFile &file)
 Assign one FormFile to another.
Accessor Methods

Information on the uploaded file

void writeToStream (std::ostream &out) const
 Write this file data to the specified stream.
std::string getName () const
 Get the name of the form element.
std::string getFilename () const
 Get the basename of the file on the remote machine.
std::string getDataType () const
 Get the MIME type of the file data.
std::string getData () const
 Get the file data.
std::string::size_type getDataLength () const
 Get the length of the file data.

Detailed Description

Class representing a file submitted via an HTML form.

FormFile is an immutable class reprenting a file uploaded via the HTTP file upload mechanism. If you are going to use file upload in your CGI application, remember to set the ENCTYPE of the form to multipart/form-data.

   <form method="post" action="http://change_this_path/cgi-bin/upload.cgi" 
   enctype="multipart/form-data">
   
See also:
FormEntry

Definition at line 64 of file FormFile.h.


Constructor & Destructor Documentation

cgicc::FormFile::FormFile ( ) [inline]

Default constructor.

Shouldn't be used.

Definition at line 79 of file FormFile.h.

cgicc::FormFile::FormFile ( const std::string &  name,
const std::string &  filename,
const std::string &  dataType,
const std::string &  data 
)

Create a new FormFile.

This is usually not called directly, but by Cgicc.

Parameters:
nameThe name of the form element.
filenameThe filename of the file on the remote machine.
dataTypeThe MIME content type of the data, if specified, or 0.
dataThe file data.
cgicc::FormFile::FormFile ( const FormFile file) [inline]

Copy constructor.

Sets the name, filename, datatype, and data to those of file

Parameters:
fileThe FormFile to copy.

Definition at line 103 of file FormFile.h.

cgicc::FormFile::~FormFile ( ) [inline]

Destructor.

Delete this FormFile object

Definition at line 112 of file FormFile.h.


Member Function Documentation

std::string cgicc::FormFile::getData ( ) const [inline]

Get the file data.

This returns the raw file data as a string

Returns:
The file data.

Definition at line 214 of file FormFile.h.

std::string::size_type cgicc::FormFile::getDataLength ( ) const [inline]

Get the length of the file data.

The length of the file data is usually measured in bytes.

Returns:
The length of the file data, in bytes.

Definition at line 224 of file FormFile.h.

std::string cgicc::FormFile::getDataType ( ) const [inline]

Get the MIME type of the file data.

This will be of the form text/plain or image/jpeg

Returns:
The MIME type of the file data.

Definition at line 204 of file FormFile.h.

std::string cgicc::FormFile::getFilename ( ) const [inline]

Get the basename of the file on the remote machine.

The filename is stripped of all leading directory information

Returns:
The basename of the file on the remote machine.

Definition at line 194 of file FormFile.h.

std::string cgicc::FormFile::getName ( ) const [inline]

Get the name of the form element.

The name of the form element is specified in the HTML form that called the CGI application.

Returns:
The name of the form element.

Definition at line 184 of file FormFile.h.

bool cgicc::FormFile::operator!= ( const FormFile file) const [inline]

Compare two FormFiles for inequality.

FormFiles are equal if they have the same filename.

Parameters:
fileThe FormFile to compare to this one.
Returns:
false if the two FormFiles are equal, true otherwise.

Definition at line 139 of file FormFile.h.

FormFile& cgicc::FormFile::operator= ( const FormFile file)

Assign one FormFile to another.

Sets the name, filename, datatype, and data to those of file

Parameters:
fileThe FormFile to copy.
Returns:
A reference to this.
bool cgicc::FormFile::operator== ( const FormFile file) const

Compare two FormFiles for equality.

FormFiles are equal if they have the same filename.

Parameters:
fileThe FormFile to compare to this one.
Returns:
true if the two FormFiles are equal, false otherwise.
void cgicc::FormFile::writeToStream ( std::ostream &  out) const

Write this file data to the specified stream.

This is useful for saving uploaded data to disk

Parameters:
outThe ostream to which to write.

The documentation for this class was generated from the following file:

GNU cgicc - A C++ class library for writing CGI applications
Copyright © 1996 - 2004 Stephen F. Booth
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front Cover Texts, and with no Back-Cover Texts.
Documentation generated Sun May 1 2011 18:11:00 for cgicc by doxygen 1.7.3