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
|