Django получает изображение в экземпляр React Native FormData в виде диктанта

У меня есть приложение React Native, есть экран для загрузки логотипа logo (изображение). Когда логотип загружен, Django должен получить изображение, сохранить в пользовательской строке и создать файл в локальной папке assets (как обычно). Проблема в том, что я даже не знаю, правильно ли я отправляю данные из React Native, но Django REST API получает изображение в виде Python dict. Я следую инструкциям многих других людей, но все равно ничего не получается, вот как я загружаю логотип в экземпляр React Native FormData:

const fd = new FormData();
fd.append('logo', {
  name: logo.fileName,
  uri: logo.uri,
  type: logo.type,
});

Переменная logo является экземпляром Asset из библиотеки react-native-image-picker.

А вот, как Django получает данные, с помощью pdb (отладчик Python):

enter image description here

Для лучшего просмотра:

{'_parts': [
  ['logo', {
    'name': 'logo.png',
    'uri': 'file:///data/user/0/com.micandidato/cache/rn_image_picker_lib_temp_9b3907e0-3f13-4ad5-9ca9-13f491473440.png',
    'type': 'image/png'
  }]
]}

Я почти уверен, что Django не сохранит этот объект как изображение. Метод запроса из React Native - PATCH (если уместно). Спасибо.

Для добавления данных (т.е. изображения) в экземпляр FormData мы должны передать аргументы следующим образом:

#at FrontEnd

const fd = new FormData();
fd.append('image',imageFileOrBlob,FileName*);
//rest of the code

FileName - необязательный аргумент.

ImageFileOrBlob в вашем случае должен быть передан как yourInputField.target.files[0]

.

Ссылка

#at Django backEnd

def myView(request):
  logo = request.FILES.get('image')
  #rest of the code
Вернуться на верх