use File::Basename 'basename'; ... # Serve static file if it exists if (my $asset = $c->app->static->file('path1/path2/filename.ext')) { $c->res->headers->content_disposition('attachment; filename=filename.ext'); $c->reply->asset($asset); }