Wie kann ich die Datei -Streaming -Leistung in Fastapi für große .obj -Dateien verbessern?Python

Python-Programme
Anonymous
 Wie kann ich die Datei -Streaming -Leistung in Fastapi für große .obj -Dateien verbessern?

Post by Anonymous »

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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post