React Native Загрузка файлов не работает с помощью Axios
Я пытаюсь загрузить файл на сервер, а API сервера написаны с использованием django. Загрузка файла отлично работает из Postman, но когда я пытаюсь загрузить файл из мобильного приложения (React Native) с помощью axios, бэкенд не может его прочитать.
Ниже представлен сниппет фронтенда:
let accessToken = await AsyncStorage.getItem('accessToken')
let formData = new FormData()
formData.append('doc_type', this.state.selectedDoc.id)
formData.append('document', this.state.selectedFiles) // <- This is the fetched file in array format . [{filname:'abc', size:12344,.....}]
formData.append('description', this.state.description.value)
formData.append('data', JSON.stringify(this.state.selectedDoc.fields))
let url = `${AppConstants.url}api/${AppConstants.apiVersion}/upload_doc`
var config = {
method: 'post',
url: url,
data: formData,
headers: {
'Authorization': `Bearer ${accessToken}`,
}
}
axios(config)
.then((resp) => {
resolve(resp)
})
.catch((err) => {
reject(err)
});
А оператор backend-end if else выглядит следующим образом:
if(request.FILES.getlist("document")):
files = request.FILES.getlist("document")
....
....
....
else:
return response.JsonResponse({
'success' : False,
'message' : 'Please Upload a file'
}, status = status.HTTP_200_OK)
Вышеуказанный блок else выполняется, даже если пользовательский интерфейс отправляет действительный файл.
Просим вас поделиться решением.