Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Простой вопрос про встр оенный perl и upload модули
Так происходит потому что модуль upload на данный не помещает результат
преобразований тела запроса в один буфер.
----- Ivan <bdfy@xxxxxxx> wrote:
> Есть
>
> location @test {
> client_max_body_size 4G;
> default_type text/html;
> perl hello::handler;
> }
>
> location /test {
> client_max_body_size 4G;
> default_type text/html;
> perl hello::handler;
> }
>
>
> location /upload {
> upload_pass @test;
> upload_store /mnt;
> upload_pass_form_field "^submit$|^description$|^test$";
> upload_cleanup 400 404 499 500-505;
>
>
>
> модуль hello ( стандартный из примера ):
>
> package hello;
>
> use nginx;
>
> sub handler {
> my $r = shift;
>
> if ($r->request_method ne "POST") {
> return DECLINED;
> }
>
> if ($r->has_request_body(\&post)) {
> return OK;
> }
>
> return HTTP_BAD_REQUEST;
> }
>
> sub post {
> my $r = shift;
>
> $r->send_http_header;
>
> $r->print("request_body: \"", $r->request_body, "\"<br/>");
> $r->print("request_body_file: \"", $r->request_body_file, "\"<br/>\n");
>
> return OK;
> }
>
> 1;
>
> __END__
>
> и формочка: ( отправляется с пустым полем file)
> <html>
> <body>
> <form method="POST" enctype="multipart/form-data" action="/test" >
> <input type="file" name="file" value="value">
> <input type="hidden" name="test" value="value">
> <input type="submit" name="submit" value="Upload">
> </form>
> </body>
> </html>
>
>
> В случае если форма посылается через /test на экран выводится содержимое этой
> формы. т е все ОК. В случае если посылается /upload в переменной
> $r->request_body виден кусок вида "------------123121212" и все. Почему так
> происходит ?
--
Regards,
Valery Kholodkov
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|