solved!

I can't give a full, absolute path name to the file when using `send_file`. I *have* to give a path relative to the 'public' directory. Changing the path to relative to 'public' sends the file alright.

Could this *please* be listed in *bold* in the documentation for `send_file`?

Many thanks,

-- 
Puneet Kishor
Sent with Sparrow

On Monday, January 3, 2011 at 7:09 PM, Puneet Kishor wrote:

This is driving me nuts, so I would appreciate any advice. Perhaps it is just a silly oversight on my part.

punkish@Lucknow ~/Sites/carbonapp/public/images/models/2bau/years/8$pwd
/Users/punkish/Sites/carbonapp/public/images/models/2bau/years/8
punkish@Lucknow ~/Sites/carbonapp/public/images/models/2bau/years/8$ls 2*
2010_nep.gif
punkish@Lucknow ~/Sites/carbonapp/public/images/models/2bau/years/8$

So, as you can see, the following file exists

/Users/punkish/Sites/carbonapp/public/images/models/2bau/years/8/2010_nep.gif

My route is

get '/:model_id/year/:year/zoom/:zoom/:output' => sub {
    my $model_id   = params->{model_id};
    my $year    = params->{year};
    my $zoom  = params->{zoom};
    my $output  = params->{output};

    # get model_file based on model_id
    
    my $dir = config->{'app_dir'} . '/' . config->{'img_dir'} . "/$model_file/years/$zoom";
    my $img = $year . '_' . $output . '.gif';
    
    debug("sending '$dir/$img'");
    send_file("$dir/$img");
};

My development.log shows

[37838] debug @0.008607> [hit #1] sending '/Users/punkish/Sites/carbonapp/public/images/models/2bau/years/8/2010_nep.gif' in /Users/punkish/Sites/carbonapp/lib/carbonapp/models.pm l. 106

and yet, I get the following error in my browser

{"error":"No such file: `/Users/punkish/Sites/carbonapp/public/images/models/2bau/years/8/2010_nep.gif'"}

Please point me to my stupid ways.

-- 
Puneet Kishor
Sent with Sparrow