Re[2]: perl и header_out

deniswork at uzvik.kiev.ua deniswork at uzvik.kiev.ua
Mon Dec 10 00:57:22 MSK 2007


> Нужно так:

>   $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;
}

>> На выходе получаем:
$ wget -S http://xxx
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Server: nginx/0.5.33
  Date: Sun, 09 Dec 2007 22:02:16 GMT
  Content-Type: application/octet-stream; charset=cp1251
  Connection: close
  Content-Disposition: attachment; filename="file.txt"
Length: unspecified [application/octet-stream]

    [ <=>                                                                              ] 4,123,842     --.--K/s

00:02:16 (74.70 MB/s) - `file.txt' saved [4123842]

>> А потом
$ cat  file.txt
HTTP/1.1 200 OK
Server: nginx/0.5.33
Date: Sun, 09 Dec 2007 22:02:16 GMT
Content-Type: application/octet-stream; charset=cp1251
Content-Length: 4123542
Last-Modified: Thu, 08 Nov 2007 02:02:10 GMT
Connection: close
Content-Disposition: attachment; filename="file.txt"
Accept-Ranges: bytes

---file_content_here--









More information about the nginx-ru mailing list