cppcms::widgets::file Class Reference

This class represents a file upload form entry. More...

`#include <cppcms/form.h>`

Inheritance diagram for cppcms::widgets::file:

## Public Member Functions

void | non_empty ()
void | limits (int min, int max)
std::pair< int, int > | limits ()
void | filename (booster::regex const &fn)
booster::regex | filename ()
void | validate_filename_charset (bool)
bool | validate_filename_charset ()
booster::shared_ptr< http::file > | value ()
void | mime (std::string const &)
void | mime (booster::regex const &expr)
void | add_valid_magic (std::string const &)
virtual void | load (http::context &context)
virtual void | render_value (form_context &context)
virtual bool | validate ()
Public Member Functions inherited from cppcms::widgets::base_html_input
| base_html_input (std::string const &type)
virtual | ~base_html_input ()
virtual void | render_input (form_context &context)
Public Member Functions inherited from cppcms::widgets::base_widget
| base_widget ()
bool | set ()
bool | valid ()
std::string | id ()
std::string | name ()
locale::message | message ()
bool | has_message ()
locale::message | error_message ()
bool | has_error_message ()
locale::message | help ()
bool | has_help ()
bool | disabled ()
void | disabled (bool)
std::string | attributes_string ()
void | set (bool)
void | valid (bool)
void | id (std::string)
void | name (std::string)
void | message (std::string)
void | message (locale::message const &)
void | error_message (std::string)
void | error_message (locale::message const &)
void | help (std::string)
void | help (locale::message const &msg)
void | attributes_string (std::string v)
virtual void | render (form_context &context)
virtual void | clear ()
virtual void | render_attributes (form_context &context)
virtual void | parent (base_form *subform)
virtual form * | parent ()
void | pre_load (http::context &)

## Additional Inherited Members

Public Types inherited from cppcms::form_flags
enum | html_type { as_html = 0, as_xhtml = 1 }
enum | html_list_type { as_p = 0, as_table = 1, as_ul = 2, as_dl = 3, as_space = 4 }
enum | widget_part_type { first_part = 0, second_part = 1 }
Protected Member Functions inherited from cppcms::widgets::base_widget
void | auto_generate (form_context *context=0)

## Detailed Description

This class represents a file upload form entry.

If the file was not uploaded, set() will be false and an attempt to access the member function value() will throw.

## Member Function Documentation

void cppcms::widgets::file::add_valid_magic | ( | std::string const & |  | ) |

Add a string that represents a valid magic number that shoud exist on begging of file.

By default no tests are performed.

void cppcms::widgets::file::filename | ( | booster::regex const & | fn | ) |

Set the filename validation pattern. For example ".*\\.(jpg|jpeg|png)".

Please, note that it is a good idea to check magic numbers as well and not rely on file name only.

See add_valid_magic() function

booster::regex cppcms::widgets::file::filename | ( |  | ) |

Get the regular expression for the filename validation.

void cppcms::widgets::file::limits | ( | int | min,
|  | int | max
| ) |  |

Set the minimum and maximum limits for the file size. Note: max == -1 indicates that there is no maximum limit; min==0 indicates that there is no minimum limit.

std::pair<int,int> cppcms::widgets::file::limits | ( |  | ) |

Get the minimum and maximum size limits.

virtual void cppcms::widgets::file::load | ( | http::context & | context | ) |

virtual

Load the form information from the provided http::context context. A user can call this function to load all information from the raw POST/GET data into the internal widget representation.

Implements cppcms::base_form.

void cppcms::widgets::file::mime | ( | std::string const & |  | ) |

Set the required file mime type.

void cppcms::widgets::file::mime | ( | booster::regex const & | expr | ) |

Set the regular expression to validate the mime type.

void cppcms::widgets::file::non_empty | ( |  | ) |

Ensure that a file is uploaded (for the validation).

virtual void cppcms::widgets::file::render_value | ( | form_context & | context | ) |

virtual

Write the actual value of the HTML tag. Derived classes must implement this.

Implements cppcms::widgets::base_html_input.

virtual bool cppcms::widgets::file::validate | ( |  | ) |

virtual

Validate the form. If not overridden, it sets the widget to valid.

Reimplemented from cppcms::widgets::base_widget.

void cppcms::widgets::file::validate_filename_charset | ( | bool |  | ) |

Validate or not the filename's charset. The default is true.

bool cppcms::widgets::file::validate_filename_charset | ( |  | ) |

Get the validation option for the filename's charset.

booster::shared_ptr<http::file> cppcms::widgets::file::value | ( |  | ) |

Get the uploaded file. This throws cppcms_error if set() == false, i.e. if no file was uploaded.

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

- cppcms/form.h