How can I upload a file using Catalyst?

I am working on an internal web based application for storing and cataloging photos. How should I retrieve, and save these files to the server?

Note: I want to save the files to the file system, not to a database. Similar to How can I handle HTTP file uploads?

Answers


Start with your familiar upload INPUT on your HTML form and ensure that the HTML form tag has the parameter enctype="multipart/form-data"

Your Catalyst::Request object ($c->request) provides two methods for accessing and manipulating the files.

Each file upload field will be instantiated as a Catalyst::Request::Upload object.

$c->request->upload will return the Upload objects in scalar or list form. $c->request->uploads will return a reference to hash of Upload objects.

The Upload object provides several method for saving and copying the files.

Check out the man pages that I've linked above.


Need Your Help

Retain authentication via JavaScript client?

javascript jquery wcf authentication session-cookies

I have a WCF application where I make JavaScript calls to. I want to secure the web services so you have to be logged in to use it. This is easy if I have a server-side application making the reque...

Video API For Building Video-Conference App

video-streaming webcam tapi h.323

I'm going to be building an application within the next six months that will be functioning as a 2-way video-conferencing system, as well as sharing some other data back and forth. I'll probably be