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) |