RequestDataTooBig request body exceeded .DATA_UPLOAD_MAX_MEMORY_SIZE settings

I am trying to send a base64 encoded image from a client to a django server, but when the image is larger than 2.5 MB, I get:

Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.

Traceback (most recent call last):
File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/staticfiles/handlers.py", line 63, in __call__
return self.application(environ, start_response)
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 170, in __call__
response = self.get_response(request)
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 124, in get_response
response = self._middleware_chain(request)
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/exception.py", line 41, in inner
response = response_for_exception(request, exc)
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/exception.py", line 76, in response_for_exception
response = debug.technical_500_response(request, *sys.exc_info(), status_code=400)
File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 84, in technical_500_response
html = reporter.get_traceback_html()
File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 316, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 293, in get_traceback_data
'filtered_POST': self.filter.get_post_parameters(self.request),
File "/usr/local/lib/python2.7/dist-packages/django/views/debug.py", line 167, in get_post_parameters
return request.POST
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 128, in _get_post
self._load_post_and_files()
File "/usr/local/lib/python2.7/dist-packages/django/http/request.py", line 310, in _load_post_and_files
self._post, self._files = QueryDict(self.body, encoding=self._encoding), MultiValueDict()
File "/usr/local/lib/python2.7/dist-packages/django/http/request.py", line 268, in body
raise RequestDataTooBig('Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.')
RequestDataTooBig: Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
[31/Dec/2016 12:33:50] "POST /chat_photo/ HTTP/1.1" 500 59

I do not know how I can send a large photo, for example, 3-4 MB.

+4
source share
2 answers

This is a django-triggered check to avoid any suspicious activity.

https://docs.djangoproject.com/en/dev/ref/settings/#data-upload-max-memory-size

0
source

Just add the following line to settings.py

DATA_UPLOAD_MAX_MEMORY_SIZE = 5242880 # no matter what size you want to give, I gave 5 MB

The default DATA_UPLOAD_MAX_MEMORY_SIZEis 2.5 MB.

django.conf.global_settings

+9

Source: https://habr.com/ru/post/1665404/


All Articles