<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2016-01-10 9:55 GMT-06:00 Andrew Beverley <span dir="ltr"><<a href="mailto:andy@andybev.com" target="_blank">andy@andybev.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Sun, 2016-01-10 at 07:39 -0600, Richard Reina wrote:<br>
> $upload_dir was being set just before the get route -- which I realize<br>
> is not correct<br>
<br>
</span>As an aside, it's probably best practice to define in your config file,<br>
rather than hard-coding into your code. That won't be a cause of your<br>
problem though.<br>
<span class=""><br>
> post '/upload' => sub {<br>
><br>
> my $upload_route = '/upload';<br>
> my $upload_dir = 'public/profile_pics';<br>
<br>
</span>Have you tried using an absolute path? Or even tried something with open<br>
permissions like "/tmp"?<br>
<span class=""><br>
>     my $user_id = session 'UID';<br>
>     my $d_filename = 'user_' . $user_id . '.jpg';<br>
><br>
>     my $file = request->upload('file');<br>
>         my $tmpname = $file->tempname;<br>
>         debug "File Size: ", $file->size;<br>
>         debug "file: ", $file->filename;<br>
>         debug "tmpname: ", $file->tempname,<br>
>         my $destination = $upload_dir . '/' . $d_filename;<br>
>         debug "Destination: $destination\n";<br>
>         my ($crslt) = $file->copy_to($destination) || warn $!;<br>
<br>
</span>Do you get any warnings here? TBH, I don't even know if the precedence<br>
of the operators there will work correctly. I would always use "or"<br>
instead of "||" in a situation like that.<br>
<br>
It would also be worth doing a "warn 'test'" to check that your warnings<br>
are being logged somewhere that you can see them.<br>
<br>
Andy<br></blockquote></div><br></div><div class="gmail_extra">Andy, Thanks for the ideas. Absolute paths worked. Thanks again everybody for the helpful replies.<br></div></div>