将图像保存在base64 django rest框架中

时间:2016-03-31 11:48:24

标签: python django rest django-rest-framework pillow

我正在处理我的应用程序(混合),在注册页面上,我必须将所有数据发送到使用Django Rest Framework制作的API。

问题是我发送个人资料图片的唯一方法是 base64编码字符串。但我需要在服务器上以jpg格式显示图像。任何人都知道我该怎么做?

这是我的api查看:

 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)

这是我的Serializer:

class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'first_name', 'last_name', 'email', 'groups')

有没有办法采用base64和创建jpg

1 个答案:

答案 0 :(得分:3)

您只需使用base64.decodestring

即可
<cfoutput query="ReviewExpand">