Ich arbeite an einem Fastapi -Projekt, bei dem ich große .obj -Dateien an den Frontend senden muss. Derzeit verwende ich StreamingResponse, um die Dateien zu streamen, aber es ist immer noch relativ langsam, wenn große Dateien behandelt werden. < /P>
from fastapi import FastAPI, HTTPException
from fastapi.responses import StreamingResponse
from fastapi.middleware.cors import CORSMiddleware
import os
import io
app = FastAPI()
# CORS configuration
app.add_middleware(
CORSMiddleware,
allow_origins=["http://localhost:3000"], # Frontend address
allow_methods=["*"],
allow_headers=["*"],
)
@app.get("/get_obj_file")
async def get_obj_file():
file_path = "frontend/IronMan.obj" # Actual path of the .obj file
if not os.path.exists(file_path):
raise HTTPException(status_code=404, detail="File not found")
with open(file_path, "rb") as f:
file_data = f.read()
io_data = io.BytesIO(file_data)
return StreamingResponse(io_data, media_type="application/octet-stream")
< /code>
Trotz der Verwendung von StreamingResponse scheint die Dateiübertragung bei der Behandlung großer .obj -Dateien immer noch relativ langsam zu sein. Gibt es eine effizientere Möglichkeit, diese Dateien in Fastapi zu streamen? Gibt es Optimierungen, die ich bewerben kann, um die Leistung zu verbessern?
Wie kann ich die Datei -Streaming -Leistung in Fastapi für große .obj -Dateien verbessern? ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post