[Catalyst] Serving "static" content from DB
Kieren Diment
kieren at diment.org
Sat Jun 6 11:40:20 GMT 2009
On 06/06/2009, at 9:17 PM, Mihai Bazon wrote:
> Hi folks,
>
> I'm working on a simple CMS (actually started it for learning
> Catalyst,
> but the goal is to be able to maintain a few websites with it). Each
> page is stored in DB and it can have file attachments, also stored
> in DB
> (content is BLOB).
>
> When serving an attachment, instead of always retrieving it from DB I
> want to save them in a cache directory. So the first time a file is
> requested, it will be fetched from DB, saved in cache, then I want the
> Web server to do the job as if it were a static file. With plain
> ModPerl, I would do it like this:
>
> $r->filename($path_to_saved_file);
> # plus some more hacks if it runs after PerlMapToStorageHandler
> return Apache2::Const::DECLINED;
my $file = $c->path_to($something);
if (!-e $file) ) {
$c->model('DB::Files')->get_file(@args);
}
$c->serve_static_content($file); # part of
Catalyst::Plugin::Static::Simple
or have a read of this...
http://dev.catalystframework.org/wiki/adventcalendararticles/2007/11-making_your_catalyst_app_cache-friendly
More information about the Catalyst
mailing list