Python 在base64 django rest框架中保存图像
我正在开发我的应用程序hybrid,在注册页面上,我必须将所有数据发送到使用Django Rest框架制作的API 问题是,我可以发送配置文件图片的唯一方法是使用base64编码字符串。但我需要在我的服务器上的jpg图像。谁知道我该怎么做 这是我的api视图:Python 在base64 django rest框架中保存图像,python,django,rest,django-rest-framework,pillow,Python,Django,Rest,Django Rest Framework,Pillow,我正在开发我的应用程序hybrid,在注册页面上,我必须将所有数据发送到使用Django Rest框架制作的API 问题是,我可以发送配置文件图片的唯一方法是使用base64编码字符串。但我需要在我的服务器上的jpg图像。谁知道我该怎么做 这是我的api视图: class CreateUserView(generics.CreateAPIView): serializer_class = UserSerializer permission_classes = [AllowAny
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)
这是我的序列化程序:
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username', 'first_name', 'last_name', 'email', 'groups')
有没有办法使用base64并创建jpg?您只需使用:
您可以简单地使用:
我用堆栈上的下一个代码为自己找到了解决方案——try/except键error:s有点过头了。您可以简单地使用get方法并提供空字符串作为默认值:name=data.get'name',。感谢您,我不知道=我通过堆栈上的下一个代码为自己找到了解决方案-try/except键error:s有点过分了。您只需使用get方法并提供空字符串作为默认值:name=data.get'name',谢谢,我不知道=
from base64 import decodestring
fh = open("imageToSave.jpeg", "wb")
fh.write(str(base64_string).decode('base64')) # or fh.write(decodestring(base64_string))
fh.close()