ПРОЕКТЫ 


  АРХИВ 


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: nginx-0.4.7



On Wednesday 11 October 2006 00:26, Igor Sysoev wrote:
> On Tue, 10 Oct 2006, Sergey Serov wrote:
> > On Tuesday 10 October 2006 20:14, Igor Sysoev wrote:
> >>      *) Добавление: переменная $request_body_file.
> >
> > А можно попросить небольшое дополнение к этой переменной?
> > Было бы неплохо в имени файла на диске передавать также и информацию
> > преполагаемом размере тела запроса? Это позволило бы реализовать upload
> > progress.
> >
> > Собсвенно неск. месяцев назад для этой цели я и патчил nginx и upload
> > progress был реализован.
> > Думаю это относительно легко сделать и многим наверняка было бы
> > интересно.
>
> С помощью $request_body_file нельзя сделать upload progress, потому что
> тело запроса сначала полностью принимается и только потом запрос
> передаётся бэкенду.

Можно, правда через задницу :-)
Делал в начале лета, все было функционально, потом проект был временно 
заморожен, вот на днях опять начну им заниматься.

Сделано было через специальный скрипт который постоянно мониторил директорию с 
телами запросов и читал оттуда первые сотню байт для идентификации запроса по 
урлу, а затем клал в базу информацию о текущем размере тела запроса.
Далее ajax'ом дергался другой скрипт который сообщал уже текущий статус 
запроса. (Далее файл пережимался и резался раром, о чем тоже подробно 
сообщалось юзеру).
Все работало и было полностью функционально, за исключением того, я пропатчил 
nginx чтобы сделать переменную $request_body_file, но сделал это как-то криво 
и nginx падал при попытке передать эту переменную fastcgi скрипту, но при 
этом нормально передавал ее по http апрстриму.
А раз теперь уже есть такая переменная, то просто замечательно.


>
> Что касается upload progress, то я планирую сделать API фильтров при
> чтении тела запроса, которое позволит
> 1) сделать upload progress внтури nginx'а,
> 2) обработку тела запроса - сохранение файлов из POST'а.

Судя по всему фича будет очень востребованной и даже (п.2) уникальной.






 




Copyright © Lexa Software, 1996-2009.