perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Schueler <jschue...@eloquency.com>
Subject Re: Download then display page
Date Tue, 30 Apr 2013 17:52:58 GMT
I believe the following will work  (never tried it though):

The request should return a 'text/html' type document that displays the 
instructions.  But the response should be a redirect to a URL that returns 
the spreadsheet instead of a 200 OK.  I believe that the body of the 
original response will be displayed until the redirect succeeds.

In the old days, we performed this trick by using meta tag equivalents of 
the response headers.  And I expect browsers will respond to actual HTTP 
headers the same way.  I say "the old days" because for last 18 years, 
I've relied on javascript.  But there may be reasons for not wanting a
different type solution.

  -Jim




On Tue, 30 Apr 2013, Chris Faust wrote:

> 
> Hi,
> 
>  
> 
> I'm trying to have a form submission package up the results in a xls file
> and then start the download for the user as well as present a page where
> they can click on the file if the download has not already automatically
> started.
> 
>  
> 
> I can do each separately but not both together, I have something like this:
> 
>  
> 
> ... Make up our xls file download and put it in $output
> 
>  
> 
> $r->content_type('application/xls');
> 
> $r->err_headers_out->add('Content-Disposition' => 'attachment; filename="' .
> $download_name . '"');
> 
> $r->print($output);
> 
> $content->param('set some html template vars....');
> 
> $r->content_type('text/html');
> 
> print $content->output;
> 
>  
> 
> When I due the above, then I get prompted for the download but that is it, I
> never get the page. Even if I reverse the order and try to do the page
> first:
> 
>  
> 
> $r->content_type('text/html');
> 
> print $content->output;
> 
> $r->content_type('application/xls');
> 
> $r->err_headers_out->add('Content-Disposition' => 'attachment; filename="' .
> $download_name . '"');
> 
> $r->print($output);
> 
> $content->param('set some html template vars....');
> 
>  
> 
> That still doesn't work. Probably not a mod_perl specific question but I'm
> hoping someone can shed some light
> 
>  
> 
> TIA!
> 
> -Chris
> 
>  
> 
>  
> 
> 
>
Mime
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message