ifixkart-backend/Backend/app/storage/local_provider.py

28 lines
939 B
Python

import os
from pathlib import Path
from app.storage.storage_provider import StorageProvider
class LocalStorageProvider(StorageProvider):
def __init__(self, base_upload_dir: str = "uploads"):
self.base_dir = Path(base_upload_dir)
self.base_dir.mkdir(parents=True, exist_ok=True)
def save_file(self, file_bytes: bytes, filename: str, folder: str) -> str:
target_dir = self.base_dir / folder
target_dir.mkdir(parents=True, exist_ok=True)
target_file = target_dir / filename
target_file.write_bytes(file_bytes)
# Return path relative to project root
return str(target_file)
def delete_file(self, storage_path: str) -> bool:
p = Path(storage_path)
if p.exists() and p.is_file():
try:
os.remove(p)
return True
except OSError:
return False
return False