Задать вопрос

Как ограничить размер загружаемого файла в Django?

Всем привет.

Ситуация:

Пользователь через форму на сайте загружает себе аватарку, которая сохраняется в поле imageFiled. В личном кабинете я эту картинку уже правильно отображаю через easy-thumbnails. Однако, ничего не мешает клиенту загрузить гигантскую картинку и положить мне память. Поэтому:

1) Либо нужно ограничить размер картинки, которую клиент может загрузить.
2) Либо принять файл, сжать его и только потом сохранить. (но опять же ничего не мешает забить память, пока его будем принимать).

В общем, как быть и как лучше решить данную ситуацию?
  • Вопрос задан
  • 1485 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Разработка на Python
    1 год
    Далее
Решения вопроса 3
un1t
@un1t
Размер загружаемого файла можно ограничить на уровне nginx.

client_max_body_size 20m;
Ответ написан
Комментировать
@deliro
Не знаю, позволяет ли это easy-thumbnails, но django-imagekit позволяет сжимать картинку как тебе угодно.
Ответ написан
evilmind
@evilmind
stackoverflow.com/questions/6195478/max-image-size...
на стороне клиента можно валидировать размер через javascript
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы