<HTML><BODY><br>

прочитайте вот это:<br><a target="_blank" href="http://forum.nginx.org/read.php?21,216148,216148" data-mce-href="http://forum.nginx.org/read.php?21,216148,216148">http://forum.nginx.org/read.php?21,216148,216148</a><br><br>и используете следующую конструкцию:<br><br>server {<br><br>    listen 3000;<br><br>    location / {<br>    default_type text/html;<br>    perl uploader::handler;<br>    }<br><br>}<br><br><br><br><br>   location @uploadhandler {<br>        proxy_pass <a href="http://localhost:3000;" target="_blank">http://localhost:3000;</a><br>    }<br><br>   upload_pass   @uploadhandler;<br><br><br><br><br><br>Fri, 6 Jul 2012 04:00:18 -0400 (EDT) от "erd" <nginx-forum@nginx.us>:<br>
<blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;" class="mailru-blockquote">
        <div><div class="style_a_13415678610000000713js-helper style_a_13415678610000000713js-readmsg-msg">
        <style type="text/css"></style>
        <div id="style_13415616310000000565" class="style_a_13415678610000000713mr_read__body">
                <base target="_self" href="http://e.mail.ru/cgi-bin/">
                
                        <div id="style_13415616310000000565_BODY">Здравствуйте.<br>
<br>
Пробовал реализовать загрузку файлов с<br>
использованием http_perl_module и http_upload_module.<br>
Непосредственно загрузка и сохранение<br>
файла проходят успешно, однако в<br>
запросе к @upload не передаются абсолютно<br>
никакие параметры, даже тот, что был<br>
задан через upload_pass_form_field.<br>
<br>
Самостоятельно ошибку или причину<br>
недопонимания найти не получается,<br>
поэтому прошу помощи здесь.<br>
<br>
nginx version: nginx/1.3.2<br>
configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I<br>
/usr/local/include' --with-ld-opt='-L /usr/local/lib'<br>
--conf-path=/usr/local/etc/nginx/nginx.conf<br>
--sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid<br>
--error-log-path=/var/log/nginx-error.log --user=www --group=www<br>
--with-file-aio --with-ipv6<br>
--http-client-body-temp-path=/var/tmp/nginx/client_body_temp<br>
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp<br>
--http-proxy-temp-path=/var/tmp/nginx/proxy_temp<br>
--http-scgi-temp-path=/var/tmp/nginx/scgi_temp<br>
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp<br>
--http-log-path=/var/log/nginx-access.log<br>
--add-module=/usr/ports/www/nginx-devel/work/ngx_cache_purge-1.6<br>
--with-http_image_filter_module --with-http_perl_module<br>
--with-http_stub_status_module --with-http_sub_module<br>
--add-module=/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0<br>
--add-module=/usr/ports/www/nginx-devel/work/masterzen-nginx-upload-progress-module-a788dea<br>
--add-module=/usr/ports/www/nginx-devel/work/chaoslawful-lua-nginx-module-3b1e9aa<br>
--with-pcre<br>
--add-module=/usr/ports/www/nginx-devel/work/simpl-ngx_devel_kit-bc97eea<br>
--add-module=/usr/ports/www/nginx-devel/work/calio-iconv-nginx-module-abdac17<br>
<br>
#настройки nginx<br>
<br>
server {<br>
        client_header_buffer_size 4k;<br>
        ...<br>
        location /u {<br>
                root /home/webl/www/node1;<br>
                error_page 403 = 404;<br>
        }<br>
        location @upload {<br>
                perl WebLab::upl;<br>
        }<br>
        location =/upload {<br>
                client_max_body_size 15m;<br>
<br>
                upload_pass   @upload;<br>
<br>
                upload_store /home/webl/www/node1/u;<br>
                upload_store_access user:r;<br>
<br>
#               upload_set_form_field $upload_field_name.name "$upload_file_name";<br>
#               upload_set_form_field $upload_field_name.content_type<br>
"$upload_content_type";<br>
#               upload_set_form_field $upload_field_name.path "$upload_tmp_path";<br>
<br>
#               upload_aggregate_form_field "$upload_field_name.md5"<br>
"$upload_file_md5";<br>
#               upload_aggregate_form_field "$upload_field_name.size"<br>
"$upload_file_size";<br>
                <br>
                upload_set_form_field "${upload_field_name}_name" $upload_file_name;<br>
                upload_set_form_field "${upload_field_name}_content_type"<br>
$upload_content_type;<br>
                upload_set_form_field "${upload_field_name}_path" $upload_tmp_path;<br>
<br>
                upload_aggregate_form_field "${upload_field_name}_md5"<br>
$upload_file_md5;<br>
                upload_aggregate_form_field "${upload_field_name}_size"<br>
$upload_file_size;<br>
<br>
                upload_pass_form_field "^test$";<br>
<br>
                upload_cleanup 400-404 499 500-505;<br>
        }<br>
}<br>
<br>
#обработчик WebLab::upl;<br>
<br>
package WebLab;<br>
<br>
sub upl<br>
{<br>
        no strict;<br>
        no warnings;<br>
        shift->has_request_body(sub{<br>
                my$r = shift;<br>
                $r->send_http_header("text/plain");<br>
                $r->print("request_body: \"", $r->request_body, "\"\n");<br>
                $r->print("request_body_file: \"", $r->request_body_file, "\"\n");<br>
        });<br>
}<br>
<br>
#пример запроса на /upload<br>
<br>
POST /upload HTTP/1.1<br>
Host: node1.webl<br>
Connection: keep-alive<br>
...<br>
Content-Type: multipart/form-data;<br>
boundary=----WebKitFormBoundaryJ0GtAjmfwCLxtzFL<br>
<br>
------WebKitFormBoundaryJ0GtAjmfwCLxtzFL<br>
Content-Disposition: form-data; name="file"; filename="image.jpg"<br>
Content-Type: image/jpeg<br>
<br>
<br>
------WebKitFormBoundaryJ0GtAjmfwCLxtzFL<br>
Content-Disposition: form-data; name="test"<br>
<br>
val<br>
------WebKitFormBoundaryJ0GtAjmfwCLxtzFL--<br>
<br>
#ответ от сервера<br>
<br>
request_body: "------WebKitFormBoundaryJ0GtAjmfwCLxtzFL"<br>
request_body_file: ""<br>
<br>
Posted at Nginx Forum: <a target="_blank" href="http://forum.nginx.org/read.php?21,228322,228322#msg-228322">http://forum.nginx.org/read.php?21,228322,228322#msg-228322</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a target="_blank">nginx-ru@nginx.org</a><br>
<a target="_blank" href="http://mailman.nginx.org/mailman/listinfo/nginx-ru">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br data-mce-bogus="1"></div>
                        
                
                <base target="_self" href="http://e.mail.ru/cgi-bin/">
        </div>

        
</div>







</div>
</blockquote>
<br>

<br><hr></BODY></HTML>