如何使用 FastAPI 在发布数据后下载文件?
使用 FastAPI 时,在发布数据后下载文件围绕着利用文件响应类。要实现此目的:
这里是一个示例:
<code class="python">@app.post("/download") async def download_file(request: Request): if request.method == "POST": form = await request.form() if form["message"] and form["language"]: # Process the data and generate the file here file_path = "path/to/file.mp3" headers = {"Content-Disposition": f"attachment; filename=downloaded_file.mp3"} return FileResponse(file_path, headers=headers, media_type="audio/mp3")</code>
请记住,如果您希望端点同时处理 GET 和 POST 请求,请使用 @app.api_route() 和methods=["GET", "POST"] 或使用 @app.post() 和 @app 定义单独的端点。 get().
此外,如果您计划下载多个文件或需要更大的灵活性,请考虑使用其他概念,例如:
以上是如何使用 FastAPI 发布数据后下载文件?的详细内容。更多信息请关注PHP中文网其他相关文章!