ПРОЕКТЫ 


  АРХИВ 


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: upload module 2.0.8



В 2.1.1 ограничение размера файла по типу можно попытаться сделать фильтрами (я не пробовал, но по идее должно работать):

upload_filter image/jpeg image/png image/gif {
    upload_max_file_size 10m;
}

Однако, как я уже писал в документации, это "мягкое" ограничение. Возможно имеет смысл превратить его в "жесткое", но клиенту придется выдавать нерелевантное возникшей ситуации сообщение об ошибке.

Rauan Maemirov wrote:
Идея в том, чтобы ограничивать загрузку по типу файлов (выше написано
про то, что он прописывается в начале файла) и размеру на стадии
_начала_ загрузки, а не после.

Вы сами говорите, что не прочитать. :) А проверять тип по наличию
расширения в конце файла не очень правильно.

Да и вообще, проверка правильности типов и ограничение размера на
клиенте - не есть лучшее решение. Чтобы обойти, достаточно отключить
js.

И еще, я упомянул про взятие mime-type'а из файла потому что не все
браузеры отправляют нужные типы. Opera и IE, вообще, 50/50.


2008/12/25 Alexey Kovyrin <alexey@xxxxxxxxxxx>:
То, что вы рассказываете - это нужно на клиенте делать. Там, афаир,
вам доступно только имя файла (и то не уверен). Контент файла
жабаскриптом не почитать. Или я что-то не так понял в вашей идее?

2008/12/24 Rauan Maemirov <rauan@xxxxxxxxxxxx>:
Упс, не до конца объяснил (фича-реквест).

Допустим есть сервис, на который загружаются только определенные типы
данных, если презентации, то pdf, ppt и т.д. для видео -
видеоформаты... музыка, картинки и т.д.

Конечно можно проверять после загрузки, но вот в чем фишка:

Как обычно делают все сервисы? Сначала грузишь себе огромный файл,
ждешь пока догрузится, а потом тебе сообщают, что такой тип файлов не
поддерживается. А между тем мы съели траффик, пользователь огорчился
(ну не знал он, что .exe - это не mp3-песенка), не говоря о том, что
грузились ресурсы...

А вот если бы сразу проверялись типы данных и выкидывались если не
поддерживается формат.

Было бы вообще супер, если можно делать что-то вроде map. Ограничение
для длинного списка форматов видео - 100mb, картинок - 2mb, список
аудиоформатов - 5mb.

2008/12/24 Александр Кутузов <alleteam@xxxxxxxxx>:
Это называется mime-magic,
вопрос только на..я?

25.12.2008, в 0:23, Rauan Maemirov написал(а):

Вряд ли, расширение можно поменять... Разве тип содержимого не
записывается в начале файла?

2008/12/24 Valery Kholodkov <valery+nginxru@xxxxxxxxxxx>:
Долго пытался понять каким образом и из какого файла их извлекать. Может
из
имени загружаемого файла?

Rauan Maemirov wrote:
Кстати, еще один момент. Можно ли сделать так, чтобы mime_type-ы
брались из файла, а не из header-ов?

2008/12/22 Valery Kholodkov <valery+nginxru@xxxxxxxxxxx>:
Думаю, это воспроизводимо, если клиент запрашивает прогресс в тот
момент,
когда результативное тело в процессе отсылки или обработки бакэндом.
Посмотрю upload progress на досуге ещё раз.

Тем не менее, объединение двух модулей было бы архитектурной ошибкой,
по
той же причине, по какой в юниксе не объединены вызовы fork и exec --
можно
получить больше вариантов использования. А именно upload без progress и
progress без upload.

----- Original Message -----
From: "Rauan Maemirov" <rauan@xxxxxxxxxxxx>
To: nginx-ru@xxxxxxxxx
Sent: Sunday, December 21, 2008 2:47:19 PM GMT +01:00 Amsterdam /
Berlin
/ Bern / Rome / Stockholm / Vienna
Subject: Re: upload module 2.0.8

Когда файл догружается, прогресс не может определить размер файла
(запроса), так как upload module переписывает POST. Я обращался к
разработчику progress module, он обещал сделать версию для upload-а,
опубликовал одну версию, но она не заработала... Это было месяца 3
назад, видно забыл. :)

Это конечно не критично, но все же когда из 20 мегабайт прогресс
становится однобайтовым, пользователь может потеряться.

2008/12/21 Valery Kholodkov <valery+nginxru@xxxxxxxxxxx>:
Что мешает использовать оба модуля в связке?

Sergey Serov wrote:
Модуль замечательный, только нехватает ему функциональности модуля
upload_progress. Тогда было бы законченное и комплексное решение.
--
Regards,
Valery Kholodkov


--
Regards,
Valery Kholodkov


--
Regards,
Valery Kholodkov



Kind regards,
Alexandr Kutuzov, alleteam@xxxxxxxxx









--
Alexey Kovyrin
http://kovyrin.info/



--
Regards,
Valery Kholodkov



 




Copyright © Lexa Software, 1996-2009.