Я загружаю изображение в память, затем хочу сохранить его в imageField ().
Я использую django-хранилища, которые загружают файлы из image / fileField () в AWS S3.
Я загружаю изображение в память:
r = requests.get(url, headers=header)
image = Image.open(BytesIO(r.content))
image_in_memory = InMemoryUploadedFile(image, None, "foo.png", 'image/png', image.size, None)
image_in_memory_file = image_in_memory.file
Некоторые проверки:
print(type(image_in_memory))
---
<class 'django.core.files.uploadedfile.InMemoryUploadedFile'>
Когда я сохраняю это:
my_object.cover.save(name="foo.png", content=image_in_memory)
Django генерирует эту ошибку:
web_1 | link.cover.save(name="foo.png", content=image_in_memory)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/db/models/fields/files.py", line 87, in save
web_1 | self.name = self.storage.save(name, content, max_length=self.field.max_length)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/core/files/storage.py", line 52, in save
web_1 | return self._save(name, content)
web_1 | File "/usr/local/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 491, in _save
web_1 | self._save_content(obj, content, parameters=parameters)
web_1 | File "/usr/local/lib/python3.7/site-packages/storages/backends/s3boto3.py", line 505, in _save_content
web_1 | content.seek(0, os.SEEK_SET)
web_1 | TypeError: seek() takes 2 positional arguments but 3 were given
Вы видите проблему?