Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Проверка размера файла без полной его закачки на сервер. [RSS Feed]

#1 Дек. 4, 2010 19:39:55

fth
От:
Зарегистрирован: 2010-07-26
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка размера файла без полной его закачки на сервер.

На сайте пользователь имеет возможжность загружать файлы, на них установлен лимит по размеру, в форме сделано это в лоб:

    def clean_file(self):
file = self.cleaned_data['file']
if file.size>MAX_FILE_SIZE:
raise ValidationError(u'Файл слишком большой!')
Но такая реализация плоха по той причине, что какой-бы файл не заливал юзер, он сначала будет залит и только потом отвергнут.
Так вот, как сделать проверку размера файла правильно в данном случае? Кажется что нужно как-то использовать чанки, но как с ними обращаться и где устраивать проверку я не представляю.



Офлайн

#2 Дек. 6, 2010 06:25:58

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Проверка размера файла без полной его закачки на сервер.

Офлайн

#3 Дек. 6, 2010 09:13:25

Doberman26rus
От: Ставрополь
Зарегистрирован: 2009-03-16
Сообщения: 128
Репутация: +  1  -
Профиль   Отправить e-mail  

Проверка размера файла без полной его закачки на сервер.

не совсем уверен в точности моего высказывания, но по моему мнению, когда мы отправляем post-запрос, его сначала принимает сервер, а после чего уже отдаёт django. Разумеется, он сначала всё это дело загружает. Тут есть несколько выходов которые я знаю.
1. использовать флеш загрузчики, сам не использовал, но в интернете хвалят
2. шаманство с web - сервером( я использовал nginx + upload module + uploadprogress module )

P.S. Найдёшь более красивый вариант, отпишись. Будет интересно почитать.



подпись

Офлайн

#4 Дек. 7, 2010 00:06:11

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Проверка размера файла без полной его закачки на сервер.

Смотри LimitRequestBody в конфиге апача (если используется апач).

Офлайн

  • Начало
  • » Django
  • » Проверка размера файла без полной его закачки на сервер.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version