我正在尝试使用 python django 将图像上传到文件系统。我不知道如何进一步进行。
在我的 model.py 中:
Class Test(object):
mission = models.TextField(blank=True)
image = models.ImageField(upload_to='documents/images/',blank=True)
account = models.OneToOneField(Account, related_name='account')
在我看来.py
def add_image(request, account):
req = get_request_json(request)
data = Test.objects.add_image(account, req)
在我的 manager.py 中
Class TestManager(models.Manager):
def add_image(self, account, input):
acc = self.get(account=account)
acc.save()
return acc;
但我不确定如何从这里开始。
我想知道如何将base64图片字符串保存到指定位置并将路径/文件名存入数据库?
我曾使用 python 将文件写入目录并获取路径并存储在数据库中。在这里我想使用 django 选项。
我也必须对其他文件格式重复相同的过程。
最佳答案
如果你有一个 base64 字符串格式的图像并且你想将它保存到模型 ImageField,这就是我要做的
import base64
from django.core.files.base import ContentFile
image_b64 = request.POST.get('image') # This is your base64 string image
format, imgstr = image_b64.split(';base64,')
ext = format.split('/')[-1]
data = ContentFile(base64.b64decode(imgstr), name='temp.' + ext)
现在,你可以简单地做
Test.objects.create(image=data)
关于python - Django 使用 models.ImageField 将 base64 字符串保存到文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46446987/