Files
sora_python/app/api/api_process_lookbooks.py
2024-10-22 15:11:08 +08:00

35 lines
1.0 KiB
Python

import logging
import os
from typing import List
import aiofiles
from fastapi import UploadFile, File, APIRouter, BackgroundTasks, Form
from app.service.lookbooks.service import process_lookbook_task # 引入服务逻辑
logger = logging.getLogger()
router = APIRouter()
@router.post("/process-lookbooks")
async def process_lookbooks(
background_tasks: BackgroundTasks,
files: List[UploadFile] = File(...),
tag: str = Form(...),
year: str = Form(...)
):
lookbook_dir = "service/lookbooks/temp_lookbooks"
os.makedirs(lookbook_dir, exist_ok=True)
lookbook_list = []
for file in files:
file_path = os.path.join(lookbook_dir, file.filename)
async with aiofiles.open(file_path, "wb") as f:
await f.write(await file.read())
lookbook_list.append(file_path)
# 将任务放入后台异步执行
background_tasks.add_task(process_lookbook_task, lookbook_list, tag, year)
return {"message": "Lookbooks are being processed in the background."}