from fastapi import APIRouter, Depends, HTTPException, Header, Body, status, Request # from db import crud_main from sqlalchemy.orm import Session from fastapi.security import APIKeyHeader from typing import Union, Optional, List from typing_extensions import Annotated from db import models, schemas import datetime from fastapi.responses import FileResponse import os from process.logger import logger from db.base import get_db import pandas as pd KST = datetime.timezone(datetime.timedelta(hours=9)) router = APIRouter( prefix="/images", tags=["main"], responses={404: {"description": "Not found"}}, ) # ----------------------------------------------------------------------------------------------- async def get_body(request: Request): return await request.body() # 이미지 제공 @router.post("/{path1}/{path2}/{path3}/{file_name}") async def get_image(path1: str, path2: str, path3: str, file_name: str): # 이미지 파일 경로 설정 (예: 서버의 특정 디렉토리) image_path = os.path.join("images", path1, path2, path3, file_name) # 이미지 파일이 존재하는지 확인 if not os.path.exists(image_path): return {"error": "Image not found"} # FileResponse를 사용하여 이미지 파일 반환 return FileResponse(image_path) # 이미지 제공 @router.get("/{path1}/{path2}/{path3}/{file_name}") async def get_image1(path1: str, path2: str, path3: str, file_name: str): # if path1 != 'email': # return {"error": "path is not allow"} # 이미지 파일 경로 설정 (예: 서버의 특정 디렉토리) image_path = os.path.join("images", path1, path2, path3, file_name) # 이미지 파일이 존재하는지 확인 if not os.path.exists(image_path): return {"error": "Image not found"} # FileResponse를 사용하여 이미지 파일 반환 return FileResponse(image_path)