Dancer::Request::Upload - class representing file uploads requests
# somewhere in your view:
<form action="/upload" method="POST" enctype="multipart/form-data">
<input type="file" name="filename">
<input type="submit">
</form>
# and then in your application handler:
post '/upload' => sub {
my $file = request->upload('filename');
$file->copy_to($upload_dir); # or whatever you need
};
This class implements a representation of file uploads for Dancer. These objects
are accessible within route handlers via the request->uploads keyword. See
Dancer::Request for details.
- filename
- Returns the filename as sent by the client.
- basename
- Returns basename for "filename".
- tempname
- Returns the name of the temporary file the data has been saved to.
This will be in e.g. /tmp, and given a random name, with no
file extension.
- link_to
- Creates a hard link to the temporary file. Returns true for success, false
for failure.
$upload->link_to('/path/to/target');
- file_handle
- Returns a read-only file handle on the temporary file.
- content
- Returns a scalar containing the contents of the temporary file.
- copy_to
- Copies the temporary file using File::Copy. Returns true for success,
false for failure.
$upload->copy_to('/path/to/target')
- size
- The size of the upload, in bytes.
- headers
- Returns a hash ref of the headers associated with this upload.
- type
- The Content-Type of this upload.
This module as been written by Alexis Sukrieh, heavily based on
Plack::Request::Upload. Kudos to Plack authors.
This software is copyright (c) 2010 by Alexis Sukrieh.
This is free software; you can redistribute it and/or modify it
under the same terms as the Perl 5 programming language system itself.