38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
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)} |