ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: perl и header_out



On Sun, Dec 09, 2007 at 11:57:22PM +0200, deniswork@xxxxxxxxxxxxx wrote:

> > Нужно так:
> 
> >   $r->variable("limit_rate", "16k");
> 
> >   $r->header_out("Content-Disposition", "attachment; 
> > filename=\"file.txt\"");
> >   $r->send_http_header("application/octet-stream; charset=cp1251");
> 
> >   $r->internal_redirect("/dl/file.tx");
> >   return OK;
> 
> 
> Сделал, спасибо!
> 
> Но проблемма ниже(хедеры в теле файла) не решилась.
>         location /dl {
>             limit_conn   one  2; 
>             root /home/denis/;
>             internal;
>         }
> 
> sub dl {
>     my $r = shift;
> 
>     $r->header_out("Content-Disposition", "attachment; 
> filename=\"file.txt\"");
>     $r->send_http_header("application/octet-stream; charset=cp1251");
>     $r->internal_redirect("/dl/file.txt");
> 
>     return OK;
> }

Я ошибся. Перед internal_redirect вообще не нужно посылать заголовок, потому
что это сделает сам nginx. То есть, код такой:

    $r->header_out("Content-Disposition", "attachment; filename=\"file.txt\"");
    $r->internal_redirect("/dl/file.txt");
    return OK;

Единственное, я не уверен, что "Content-Disposition" попадёт в ответ.


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.