57 lines
1.9 KiB
Python
57 lines
1.9 KiB
Python
|
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)
|