Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

cgicc::FormFile Class Reference

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

#include <cgicc/FormFile.h>

List of all members.

Public Methods

Constructors and Destructor
 FormFile ()
 Default constructor. More...

 FormFile (const std::string &name, const std::string &filename, const std::string &dataType, const std::string &data)
 Create a new FormFile. More...

 FormFile (const FormFile &file)
 Copy constructor. More...

 ~FormFile ()
 Destructor. More...

Overloaded Operators
bool operator== (const FormFile &file) const
 Compare two FormFiles for equality. More...

bool operator!= (const FormFile &file) const
 Compare two FormFiles for inequality. More...

FormFile & operator= (const FormFile &file)
 Assign one FormFile to another. More...

Accessor Methods
Information on the uploaded file

void writeToStream (std::ostream &out) const
 Write this file data to the specified stream. More...

std::string getName () const
 Get the name of the form element. More...

std::string getFilename () const
 Get the basename of the file on the remote machine. More...

std::string getDataType () const
 Get the MIME type of the file data. More...

std::string getData () const
 Get the file data. More...

std::string::size_type getDataLength () const
 Get the length of the file data. More...


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 62 of file FormFile.h.


Constructor & Destructor Documentation

cgicc::FormFile::FormFile   [inline]
 

Default constructor.

Shouldn't be used.

Definition at line 77 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:
name  The name of the form element.
filename  The filename of the file on the remote machine.
dataType  The MIME content type of the data, if specified, or 0.
data  The file data.

cgicc::FormFile::FormFile const FormFile &    file [inline]
 

Copy constructor.

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

Parameters:
file  The FormFile to copy.

Definition at line 101 of file FormFile.h.

cgicc::FormFile::~FormFile   [inline]
 

Destructor.

Delete this FormFile object

Definition at line 110 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 212 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 222 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 202 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 192 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 182 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:
file  The FormFile to compare to this one.
Returns:
false if the two FormFiles are equal, true otherwise.

Definition at line 137 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:
file  The 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:
file  The 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:
out  The 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 - 2002 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 Mar 17 16:40:58 2002 for cgicc by doxygen 1.2.13.1