首页 > 解决方案 > 如何将 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: /
         

标签: pythondjango

解决方案


推荐阅读