我有以下意见

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

我想把这个文件保存在文件区.我能做什么?

models.py

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)

我正试着这么做

def get_file(data):
    from django.core.files import File
    return File(data)

并将返回文件保存到模型实例

somemodel.file = get_file(image_base64_data)

但是它给出了以下错误

AttributeError at /someurl/

'File' object has no attribute 'decode'

推荐答案

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 instance.

使用此代码段解码base64字符串.

Django相关问答推荐

Django-Values()并按月分组

Django:不能在子函数中返回重定向异常.第一个功能继续

django优化查询

如何在Django中显示多个相关对象

当使用django-tinymce时,我在哪里指定referer?

如何使用具有某些权限的 Django 组的转储数据和加载数据?

Django:使用相同的外键在不同的应用程序中 Select 多个列

在Django Rest Framework中按模型属性排序时如何避免重新计算?

带有代码完成功能的 python / django 的 Sublime Text 2 和 3 设置

组织大型 Django 元素的指南

验证 Django 模型对象的正确方法?

ManyRelatedManager 不可迭代

在 Django 管理员中嵌套内联?

django excel xlwt

CherryPy 与 Django

Django 覆盖模型 Clean() 与 Save()

如何在 django 中分离我的模型?

Django 什么是反向关系?

运行单元测试时禁用 Django South?

想要在 Django 测试中禁用信号