DjangoUnicodeDecodeError при попытке изменить размер изображения - PullRequest
0 голосов
/ 12 марта 2020

У меня проблема с попыткой изменить размеры изображений. Я заставил его работать как-то в другом проекте, который использует базу данных sqlite3, но он не работает с моим последним проектом, который вместо этого использует mysql.

class UserImage(models.Model):
    author = models.OneToOneField(User, on_delete=models.CASCADE, null=True, default=True)
    myimage = models.ImageField(default='profile_pics/default-profile-picture.jpg', upload_to=profile_upload)

    def __str__(self):
        return f'{self.author.username} image'

    def save(self, *args, **kwargs):
        super().save(*args, **kwargs)
        img_read = storage.open(self.myimage.name, 'r')
        img = Image.open(img_read)

        if img.height > 300 or img.width > 300:
            output_size = (300, 300)
            img.thumbnail(output_size)
            in_mem_file = io.BytesIO()
            img.save(in_mem_file, format='JPEG')
            img_write = storage.open(self.myimage.name, 'w+')
            img_write.write(in_mem_file.getvalue())
            img_write.close()

        img_read.close()

Состояние ошибки

"Код 'utf-8' c не может декодировать байт 0xff в позиции 0: недопустимый начальный байт. Вы передали b '\ xff \ xd8 \ xff \ xe0 \ x00 \ x10JFIF \ x00 \ x01 \ x01 \ x01 \ x00H '() "

enter image description here

...