perl и header_out
Igor Sysoev
is at rambler-co.ru
Mon Dec 10 10:33:04 MSK 2007
On Sun, Dec 09, 2007 at 11:57:22PM +0200, deniswork at uzvik.kiev.ua 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
More information about the nginx-ru
mailing list