--- On Fri, 9/19/08, Dr. Jennifer Nussbaum <[EMAIL PROTECTED]> wrote:
> From: Dr. Jennifer Nussbaum <[EMAIL PROTECTED]> > Subject: Re: [Catalyst] Simple blob upload example? > To: "The elegant MVC web framework" <catalyst@lists.scsys.co.uk>, "J. > Shirley" <[EMAIL PROTECTED]> > Date: Friday, September 19, 2008, 11:58 AM > --- On Fri, 9/19/08, J. Shirley <[EMAIL PROTECTED]> > wrote: > > > From: J. Shirley <[EMAIL PROTECTED]> > > Subject: Re: [Catalyst] Simple blob upload example? > > To: [EMAIL PROTECTED], "The elegant MVC web > framework" <catalyst@lists.scsys.co.uk> > > Date: Friday, September 19, 2008, 8:52 AM > > On Fri, Sep 19, 2008 at 7:40 AM, Dr. Jennifer Nussbaum > > <[EMAIL PROTECTED]> wrote: > > > Hi, > > > > > > Im about to start an app where i'll need to > upload > > PDFs from a user and store them in my database. Is > there any > > quick example that might show > > > how to do this? I browsed through the wiki and > didnt > > see anything. I know its simple but ive never done > this > > before. > > > > > > Thanks! > > > > > > Jen > > > > > > > To divert this a bit, are you -really- sure you want > to > > store them in > > a database? Storing large files in a database is not > going > > to be > > ideal, as you'll lose abilities to replicate the > files > > in a separate > > policy from you DB, etc. > > Yes, but OTOH i gain the ability to back up everything at > once, and move onto a different machine or even platform > without having to worry about two seperate place. > > But this is a holywar that others have fought about for a > long time, no need to, ah, replicate it here ;-) > > > > > But to answer your question, the uploads are this > object: > > > http://search.cpan.org/~mramberg/Catalyst-Runtime-5.7014/lib/Catalyst/Request/Upload.pm > > > > You can then just do $db_record->contents( > > $upload->slurp ); > > Yes, i saw the upload object but most of it looked like > filesystem stuff, so i wasnt sure what to do then. So if i > want to create a new record, for lets say a table called > 'image' and a blob field called 'image' with > a 'mime_type' description, i just do something like > > my $new_record = > $c->model('MyDB::Image')->create({ image => > $upload->slurp, mime_type => 'application/pdf' > }); > > and thats all i have to do? Wow thats easy! I did just want to report that i did this and it worked perfectly. My actual line was: $c->model('MyDB::Image')->create({ image => $upload->slurp, type => $upload->type }); I figured that i should use $upload->type so that just in case i later want to upload gifs or something i wouldnt have to change code. Perfect, simple, it worked. Thanks! Jen Thanks! _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/