---
name: "HTML::FormHandler::Field::Upload"
section: "3pm"
platform: "linux"
package: "libhtml-formhandler-perl"
version: "0.40068-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/HTML::FormHandler::Field::Upload"
---

# HTML::FormHandler::Field::Upload(3pm)

file upload field

## NAME

HTML::FormHandler::Field::Upload - file upload field

## VERSION

version 0.40068

## DESCRIPTION

This field is designed to be used with a blessed object with a 'size' method, such as Catalyst::Request::Upload, or a filehandle. Validates that the file is not empty and is within the 'min\_size' and 'max\_size' limits (limits are in bytes). A form containing this field must have the enctype set.

```
    package My::Form::Upload;
    use HTML::FormHandler::Moose;
    extends 'HTML::FormHandler';
    has '+enctype' => ( default => 'multipart/form-data');
    has_field 'file' => ( type => 'Upload', max_size => '2000000' );
    has_field 'submit' => ( type => 'Submit', value => 'Upload' );
```

In your controller:

```
    my $form = My::Form::Upload->new;
    my @params = ( file => $c->req->upload('file') )
             if $c->req->method eq 'POST';
    $form->process( params => { @params } );
    return unless ( $form->validated );
```

You can set the min\_size and max\_size limits to undef if you don't want them to be validated.

## DEPENDENCIES

### widget

Widget type is 'upload'

## AUTHOR

FormHandler Contributors - see HTML::FormHandler

## COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Gerda Shank.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
