import logging import os import uuid import time import asyncio from fastapi import APIRouter, HTTPException, UploadFile, File from pydantic import BaseModel from typing import Optional # 配置日志 logger = logging.getLogger(__name__) router = APIRouter(prefix="/api/xunFei", tags=["讯飞"]) # 音频保存目录 UPLOAD_DIR = os.path.join(os.path.dirname(__file__), "..", "static", "audio") os.makedirs(UPLOAD_DIR, exist_ok=True) @router.post("/save-audio") async def save_audio(audio: UploadFile = File(...)): """保存音频文件""" try: # 生成文件名 file_name = f"audio_{uuid.uuid4().hex}.wav" file_path = os.path.join(UPLOAD_DIR, file_name) # 保存文件 content = await audio.read() with open(file_path, "wb") as f: f.write(content) print(file_path) return { "success": True, "file_name": file_name, "file_path": f"/static/audio/{file_name}" } except Exception as e: return {"success": False, "error": str(e)}