У меня проблема с загрузкой изображений в DO Spaces, размер которых изменен с помощью PILL
Я загружаю изображения на Digital Ocean Spaces с помощью boto3. Все работает очень хорошо, пока я не добавлю PILL.
В django view у меня есть такой код, когда я получаю изображение:
images = request.FILES.getlist('images')
for index, image in enumerate(images):
size = image.size
content_type = image.content_type
file_name = image.name
Я могу видеть всю информацию о каждом изображении.
Для загрузки изображения я использую этот метод, который тоже работает:
def upload_file(self, key, file, content_type, acl='private'):
client = self.default_session_client()
client.put_object(
Bucket=BUCKET_NAME,
Key=key,
Body=file,
ACL=ACL[acl],
ContentType=content_type,
Metadata={
'x-amz-meta-my-key': '*****'
}
)
Проблема начинается, когда я вызываю этот другой метод для изменения размера изображения, даже если я просто оставляю метод te с
pillow_image = Image.open(image)
Я получаю ошибку.
from PIL import Image
def resize_maintain_its_aspect_ratio(image, base_width):
pillow_image = Image.open(image)
width_percent = (base_width / float(pillow_image.size[0]))
height_size = int((float(pillow_image.size[1]) * float(width_percent)))
resized_image = pillow_image.resize((base_width, height_size), Image.ANTIALIAS)
return resized_image
Итак, ошибка заключается в том, что (даже если я использую Image.open(image)) я вижу следующее:
- Произошла ошибка (BadDigest) при вызове операции PutObject (достигнуто максимальное количество повторных попыток: 4): Unknown
Кто-нибудь знает, в чем проблема?