Reading time: < 1 minute
Hello, today we are going to see how we can retrieve a saved PDF file and return it using Fast API with Python.
We go to our routes file and add the necessary dependencies (in addition to those of Fast API):
import os from fastapi.responses import FileResponse
Now we are going to create our Route, which will be a GET that will return the PDF file.
@app.get("/get_pdf", status_code=status.HTTP_200_OK) def get_convenio_pdf() -> FileResponse: # Having the filename, return the file inside the pdf folder file_name = "file_name_to_return" pdf_folder = "pdf" pdf = os.path.join(pdf_folder, file_name) # Check if the file exists if not os.path.exists(pdf): return {"error": "The file does not exist"} # Return the pdf file from the /pdf/ folder return FileResponse(pdf, media_type='application/pdf', filename=file_name)
In this simple function, when we invoke /get_pdf, we obtain the PDF from the /pdf/file.pdf folder.
We specify the name in the variable file_name, but we can pass the name as a parameter, for example, or we can also store it in the database and link it by ID.
Finally, it returns it using a FileResponse object, which will return a BLOB of the PDF.