Save base64 image in django file field
<p>I have following input</p>

<pre><code>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7YAAAISCAIAAAB3YsSDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAA5JxJREFUeNrsnQl4FEX6xqcJJEAS7ivhBkMAQTSJ4h0QEQ+I90rAc1cOL3QBXXV1AV1dVwmrsCqQ9VwJ6HoC7oon0T8iEkABwRC5IeE+kkAIkPT/nfmSmprunskk5CDw/p55hu7qOr76api8........"
</code></pre>

<p>I want to save this file in file field. What can I do?</p>

<p><strong>models.py</strong></p>

<pre><code>class SomeModel(models.Model):
    file = models.FileField(upload_to=get_upload_report)
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)
</code></pre>

<p>I'm trying to do this</p>

<pre><code>def get_file(data):
    from django.core.files import File
    return File(data)
</code></pre>

<p>and save return file to model instance</p>

<pre><code>somemodel.file = get_file(image_base64_data)
</code></pre>

<p>but it's gives a following error</p>

<pre><code>AttributeError at /someurl/

'File' object has no attribute 'decode'
</code></pre>

<pre><code>import base64

from django.core.files.base import ContentFile
format, imgstr = data.split(';base64,') 
ext = format.split('/')[-1] 

data = ContentFile(base64.b64decode(imgstr), name='temp.' + ext) # You can save this as file istance.
</code></pre>

<p>Use this code snippet to decode the base64 string.</p>

python django image filefield