Как отправить изображение в Django с помощью Flutter web?
Я работаю над проектом, который использует Flutter web в качестве клиента и Django в качестве бэкенд-сервера. В настоящее время я работаю над формой регистрации, которая требует отправки изображения + дополнительных данных.
Моя проблема в том, что кажется, что есть проблема с загрузкой файла, мое представление работает правильно в Django (я тестировал его много раз) и когда я удаляю поле файла с сервера django, запрос работает отлично, поэтому я предполагаю, что проблема в загрузке файла.
final reader = html.FileReader();
reader.readAsArrayBuffer(logo);
await reader.onLoad.first;
final imageData = reader.result as List<int>;
final request = http.MultipartRequest("POST", url);
final multipartFile =
http.MultipartFile.fromBytes('logo', imageData, filename: 'Any_name');
request.files.add(multipartFile);
request.fields["nom"] = nom;
request.fields["secteur_activite"] = secteurActivite;
request.fields["description"] = description;
request.fields["email"] = email;
request.fields["first_name"] = firstname;
request.fields["last_name"] = lastname;
request.fields["phone"] = phone;
request.fields["password"] = password;
request.fields["password2"] = password2;
final response = await request.send();
Я уже работал с файлами между Django и Flutter, и у меня всегда были проблемы с использованием метода .fromBytes, метод .fromPath работает нормально, но этот метод недоступен для Flutter web.
Вот мой код Django:
class EntrepriseRegistrationView(GenericAPIView):
serializer_class = EntrepriseSerializer
parser_classes = (MultiPartParser,)
def post(self, request):
request.data
serializer = self.serializer_class(data=request.data)
if serializer.is_valid(raise_exception=True):
serializer.save()
data = serializer.data
print(data)
print(data.get("access_token"))
return Response({
"data": data,
'message': "Votre inscription s'est effectué avec succès",
},status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)