logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Dancer::Request::Upload - class representing file uploads requests

Author

       Dancer Core Developers

Authors

       This  module  as  been written by Alexis Sukrieh, heavily based on Plack::Request::Upload. Kudos to Plack
       authors.

Description

       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.

Methods

       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.

Name

       Dancer::Request::Upload - class representing file uploads requests

See Also

       Dancer

Synopsis

           # 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
           };

Version

       version 1.3521

See Also