Skip to content

Instantly share code, notes, and snippets.

@lensraster
Forked from yprez/fields.py
Last active August 29, 2015 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lensraster/24de2ba061989d70ff4e to your computer and use it in GitHub Desktop.
Save lensraster/24de2ba061989d70ff4e to your computer and use it in GitHub Desktop.
import base64
from django.core.files.base import ContentFile
from rest_framework import serializers
class Base64ImageField(serializers.ImageField):
def from_native(self, data):
if isinstance(data, basestring) and data.startswith('data:image'):
# base64 encoded image - decode
format, imgstr = data.split(';base64,') # format ~= data:image/X,
ext = format.split('/')[-1] # guess file extension
data = ContentFile(base64.b64decode(imgstr), name='temp.' + ext)
return super(Base64ImageField, self).from_native(data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment