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