создана часть бекенда

This commit is contained in:
2025-11-30 19:31:06 +03:00
parent 4ae09c36b3
commit dc85e7c0c9
35 changed files with 1573 additions and 149 deletions
+60
View File
@@ -0,0 +1,60 @@
from utils.loggers import logger
# def saveImage(imageData, fileName: str):
# try:
# imageFormat = imageData.split(';')[0].split('/')[1]
# if imageFormat != 'png':
# logger.error(f"Неподдерживаемый формат изображения: {imageFormat}")
# return False
# imageData = imageData.split(';base64,')[1]
# with open(f"static/images/{fileName}", "wb") as f:
# f.write(base64.b64decode(imageData))
# logger.info(f"Изображение {fileName} успешно сохранено")
# return True
# except Exception as e:
# logger.error(f"Ошибка сохранения изображения: {str(e)}")
# return False
# UPLOAD_DIR = "uploads"
# os.makedirs(UPLOAD_DIR, exist_ok=True)
def saveImage(file_bytes, fileName: str):
from PIL import Image
import io
# Загружаем изображение через Pillow
try:
img = Image.open(io.BytesIO(file_bytes))
except Exception:
logger.error("Неподдерживаемый формат изображения")
return False
# Конвертация (если нужно)
if img.mode not in ("RGB", "RGBA", "P"):
img = img.convert("RGB")
# Сохранение в выбранный формат
try:
logger.info(f"Сохраняем изображение {fileName}")
img.save(fileName, "PNG")
except Exception as e:
logger.error(f"Ошибка сохранения изображения: {str(e)}")
return False
logger.info(f"Изображение {fileName} успешно сохранено")
return True
def deleteImage(fileName: str):
if fileName.endswith("default.png"):
return True
try:
import os
logger.info(f"Удаляем изображение {fileName}")
os.remove(f"static/images/{fileName}")
logger.info(f"Изображение {fileName} успешно удалено")
return True
except Exception as e:
logger.error(f"Ошибка удаления изображения: {str(e)}")
return False