[django] Максимальный размер изображения при загрузке файла


0 Answers

По сути, это дубликат ограничения размера загрузки файла Django

У вас есть два варианта:

  1. Используйте проверку в Django, чтобы проверить размер загруженного файла. Проблема с этим подходом заключается в том, что файл должен быть загружен полностью, прежде чем он будет проверен. Это означает, что если кто-то загрузит 1 ТБ-файл, у вас, вероятно, закончится нехватка жесткого диска, прежде чем пользователь получит ошибку формы.

  2. Настройте веб-сервер, чтобы ограничить допустимый размер тела загрузки. например, при использовании Apache, установите параметр LimitRequestBody . Это будет означать, что если пользователь попытается загрузить слишком много, они получат страницу с ошибкой, настраиваемую в Apache

Как отмечает @pastylegs в комментариях, использование комбинации обоих, вероятно, является наилучшим подходом. Предположим, вы хотите максимум 5 МБ, возможно, применяете ограничение на 20 МБ на уровне веб-сервера и ограничение 5 МБ на уровне Django. Ограничение на 20 МБ обеспечит некоторую защиту от вредоносных пользователей, а предел 5 МБ в Django обеспечивает хороший UX.

Question

У меня есть ImageField в моей форме. Как я могу применить размер файла min / max, что-то вроде -

image = forms.ImageField(max_size = 2MB) 

или

image = forms.ImageField(min_size = 100k)

Спасибо.




Related