Ответ от @ SebastiánRamírez указал мне верное направление, но для тех, кто хотел решить проблему, мне понадобилось несколько строк кода, чтобы она заработала.Мне нужно edto импортировать FileResponse
из старлета (не fastAPI?), Добавить поддержку CORS и вернуться из временного файла.Возможно, есть лучший способ, но я не смог запустить потоковую передачу:
from starlette.responses import FileResponse
app = FastAPI()
app.add_middleware(
CORSMiddleware, allow_origins=["*"], allow_methods=["*"], allow_headers=["*"]
)
def image_endpoint(*, item: Item):
# Returns a raw PNG from the document vector
with tempfile.NamedTemporaryFile(mode="w+b", suffix=".png", delete=False) as FOUT:
FOUT.write(img)
return FileResponse(FOUT.name, media_type="image/png")