【发布时间】:2017-01-27 07:41:35
【问题描述】:
我有以下输入
"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'
【问题讨论】:
-
posibel 回答 stackoverflow.com/questions/15115730/…
-
@Anna Vracheva 我正在尝试这个答案,但没有解决我的问题。
-
解决方案与@AnnaVracheva 提到的相同。解码您的 base64,并创建一个 ContentFile 实例,并将其分配给您的模型字段。你能解释一下你在这方面遇到了什么问题吗?
-
我似乎无法解码提供的 base64 字符串,您确定您提供了正确的吗?
-
请注意您的输入不是 base64 图像,而是 HTTP 数据 URI,它是您的问题的根源,下面的答案通过从实际的 base64 数据中删除 data-uri 定义来提供解决方案跨度>
标签: python django image filefield