Ich arbeite an meiner App (hybrid) und auf der Registrierungsseite muss ich alle Daten an eine API mit Django Rest Framework senden.Bild speichern in base64 django rest framework
Das Problem ist, dass die einzige Möglichkeit, die ich das Profilbild senden kann, in Base64 codierte Zeichenfolge ist. Aber ich brauche das Bild in jpg auf meinem Server. Jeder weiß, wie kann ich das tun?
Das ist mein api Ausblick:
class CreateUserView(generics.CreateAPIView):
serializer_class = UserSerializer
permission_classes = [AllowAny]
queryset = User.objects.all().order_by('-date_joined')
def post(self, request, *args, **kwargs):
error = 0
data = request.data
try:
name = data['name']
except KeyError:
name = ""
try:
last_name = data['last_name']
except KeyError:
last_name = ""
# IMAGE IN BASE64
try:
profile_picture = data['profile_picture']
except KeyError:
profile_picture = ""
try:
username = data['username']
except KeyError:
username = ""
try:
created_user = User.objects.create(
first_name = nombre,
last_name = last_name,
username = username
)
# created_user.set_password(password)
created_user.save()
token = Token.objects.create(user=created_user)
except IntegrityError:
error = 1
return Response(error)
Und das ist mein Serializer:
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username', 'first_name', 'last_name', 'email', 'groups')
Gibt es eine Möglichkeit, die base64 zu nehmen und ein jpg erstellen?
Ich fand Lösung für mich mit dem nächsten Code auf dem Stack - [http://stackoverflow.com/](http://stackoverflow.com/a/6781529/795622) – mexekanez
Die 'try' /' außer KeyError: 's sind ein bisschen übertrieben. Sie können einfach die Methode 'get()' verwenden und die leere Zeichenfolge als Standardwert angeben: 'name = data.get ('name', '')'. – BlackJack
Danke ich wusste nicht =) –