Отправка изображения с андроид Retrofit на сервер Django

Проблема такая что сижу уже наверное день и ломаю голову. Требуется отправить обычный запрос multipart/form-data с изображением и несколькими строками. Вот код интерфейса Retrofit:

 @Multipart
 @POST("edit/profile/image")
 Call<ImageAddResponse> change_avatar(@Part MultipartBody.Part image, @PartMap Map<String, RequestBody> requestBodyMap);

Есть также бекэнд на Джанго. Тестируя все локально все работает идеально но стоила мне выставить джанго на реальный сервер я получаю такую ошибку при запросе выше:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.7/dist-packages/django/core/handlers/base.py", line 115, in _get_responseHow to send an object with data and an image in retrofit to Django server
    response = self.process_exception_by_middleware(e, request)
  File "/usr/local/lib/python3.7/dist-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python3.7/dist-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/ioienv/ioi/api/views.py", line 349, in edit_user_image
    userid = request.POST.get('userid' , 1)
  File "/usr/local/lib/python3.7/dist-packages/django/core/handlers/wsgi.py", line 102, in _get_post
    self._load_post_and_files()
  File "/usr/local/lib/python3.7/dist-packages/django/http/request.py", line 326, in _load_post_and_files
    self._post, self._files = self.parse_file_upload(self.META, data)
  File "/usr/local/lib/python3.7/dist-packages/django/http/request.py", line 286, in parse_file_upload
    return parser.parse()
  File "/usr/local/lib/python3.7/dist-packages/django/http/multipartparser.py", line 154, in parse
    for item_type, meta_data, field_stream in Parser(stream, self._boundary):
  File "/usr/local/lib/python3.7/dist-packages/django/http/multipartparser.py", line 640, in __iter__
    for sub_stream in boundarystream:
  File "/usr/local/lib/python3.7/dist-packages/django/http/multipartparser.py", line 464, in __next__
    return LazyStream(BoundaryIter(self._stream, self._boundary))
  File "/usr/local/lib/python3.7/dist-packages/django/http/multipartparser.py", line 491, in __init__
    unused_char = self._stream.read(1)
  File "/usr/local/lib/python3.7/dist-packages/django/http/multipartparser.py", line 363, in read
    return b''.join(parts())
  File "/usr/local/lib/python3.7/dist-packages/django/http/multipartparser.py", line 354, in parts
    chunk = next(self)
  File "/usr/local/lib/python3.7/dist-packages/django/http/multipartparser.py", line 376, in __next__
    output = next(self._producer)
  File "/usr/local/lib/python3.7/dist-packages/django/http/multipartparser.py", line 439, in __next__
    data = self.flo.read(self.chunk_size)
  File "/usr/local/lib/python3.7/dist-packages/django/http/request.py", line 357, in read
    raise UnreadablePostError(*e.args) from e
django.http.request.UnreadablePostError: [Errno 104] Connection reset by peer

Как я понял ошибка в неправильном запросе. Клиент успешно отправляет фото при локальном тестирование так же успешно отправляет фото на аналогичный апи написаный на php. В тоже время джанго не принимает запрос с андроид retrofit но при этом при отправки через Postman успешно сохраняет изображение. Не могу понять в чем проблема. Куда копать? Проблема в клиенте или в сервере?


Ответы (0 шт):