Основано на django Документы о DATA_UPLOAD_MAX_MEMORY_SIZE
:
Максимальный размер в байтах, который может быть в теле запроса до вызова SuspiciousOperation (RequestDataTooBig).Проверка выполняется при доступе к request.body или request.POST и рассчитывается по общему размеру запроса, исключая любые загружаемые данные файла.
С помощью сериализатора django rest framework вы можете добавить валидатор к вашемуСериализатор и проверьте размер файла, как показано ниже:
from rest_framework import serializers
def file_validator(file):
"""
file validator
check max file size allowed for file
:param file:
:return:
"""
max_file_size = 1024 * 1024 * 2 # 2MB
if file.size > max_file_size:
raise serializers.ValidationError(_('Max file size is {} and your file size is {}'.
format(max_file_size, file.size)))
class FileSerializer(serializers.Serializer):
file = serializers.FileField(validators=[file_validator])