python - 如何将 PIL 图像转换为 InMemoryUploadedFile
问题描述
我如何将 PIL 图像存储到数据库中,每当尝试将 PIL 图像转换为 InMemoryUploadedFile 时,我们会收到类似“JpegImageFile”对象没有属性“读取”的错误。谢谢你
//views.py file
FIRST_NAME = request.POST["FIRST_NAME"]
LAST_NAME = request.POST["LAST_NAME"]
BLOOD = request.POST["BLOOD"]
CONTACT = request.POST["CONTACT"]
ADDRESS = request.POST["ADDRESS"]
image = Image.new('RGB', (640, 480), (255, 255, 255)) # produces white color 255 255 255
image.save('temp.jpeg')
image = Image.open('temp.jpeg')
print(image.load())
pic_file = InMemoryUploadedFile(file=image, field_name=None, name=image.filename,
content_type=image.format,size=image.size, charset=None)
ins = person_data(FIRST_NAME=FIRST_NAME, LAST_NAME=LAST_NAME,
BLOOD_CUST=BLOOD,CONTACT_CUST=CONTACT,
ADDRESS_CUST=ADDRESS, IMAGE_CUST=file, ID_CUST=pic_file)
ins.save()
//model.py
class person_data(models.Model):
FIRST_NAME = models.CharField(max_length=50, default='')
LAST_NAME = models.CharField(max_length=30, default='')
BLOOD_CUST = models.CharField(max_length=30, default='')
CONTACT_CUST = models.IntegerField(default=0)
ADDRESS_CUST = models.CharField(max_length=30, default='')
IMAGE_CUST = models.ImageField(upload_to='images/', default='',null=True, verbose_name="")
//Console error
'JpegImageFile' object has no attribute 'read'
Internal Server Error: /
解决方案
推荐阅读
- reporting-services - 请求失败,HTTP 状态为 401:未经授权使用 DynamicsReports
- terraform - terraform 错误 - 未知筛选键:MSRC_SEVERITY
- javascript - 我面临一个错误 ReferenceError: Paginator is not defined
- javascript - 某些字符的正则表达式以及之后的任何内容
- ibm-mq - 使用 Syncpoint 的 IBM MQ 提交保留
- flutter - 如何使链接在安装在 Flutter 上的应用程序中打开 Instagram 页面
- file-upload - 如何以编程方式打开羽毛笔图像上传器?
- python - 为什么在运行时python show file not found 错误?
- list - 如何在 dart/flutter 中对自定义对象使用对象比较
- c++ - 为什么我的选择功能不起作用?它的返回 -1 和错误代码是 10038