/
kirffa
/
urgpu_bot
Обзор
Документация
Войти
/
kirffa
/
urgpu_bot
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
server/image_utils.py
38 строк
1 KB
kirffa
[fix] Добавляет производительность к загрузке изображения
14 фев 2026, 12:57
14 фев 2026, 12:57
c0bf112
Код
Авторство
О чём код?
import io import os import uuid from PIL import Image MAX_SIZE = (512, 512) THUMB_SIZE = (100, 100) JPEG_QUALITY = 85 def process_and_save_image(content: bytes, upload_dir: str, subdir: str) -> tuple[str, str]: """Process uploaded image: compress to JPEG, resize, create thumbnail. Returns (main_path, thumb_path) relative to upload_dir. """ target_dir = os.path.join(upload_dir, subdir) os.makedirs(target_dir, exist_ok=True) file_id = uuid.uuid4().hex img = Image.open(io.BytesIO(content)) img = img.convert("RGB") # Resize main image img.thumbnail(MAX_SIZE, Image.LANCZOS) main_filename = f"{file_id}.jpg" main_path = os.path.join(target_dir, main_filename) img.save(main_path, "JPEG", quality=JPEG_QUALITY, optimize=True) # Create thumbnail thumb = img.copy() thumb.thumbnail(THUMB_SIZE, Image.LANCZOS) thumb_filename = f"{file_id}_thumb.jpg" thumb_path = os.path.join(target_dir, thumb_filename) thumb.save(thumb_path, "JPEG", quality=JPEG_QUALITY, optimize=True) return f"{subdir}/{main_filename}", f"{subdir}/{thumb_filename}"