fastapi 想要响应文件下载,需要从 starlette.responses 中导入 FileResponse

from starlette.responses import FileResponse

并在这之前还得安装 aiofiles 依赖包

pip install aiofiles

完整代码如下:
FileResponse 第一个参数为文件所在路径,第二个参数表示下载时文件所显示的名称

import uvicorn

from fastapi import FastAPI
from starlette.responses import FileResponse


app = FastAPI()


@app.get("/file")
def file():
    return FileResponse('./demo.md', filename='demo.md')


if __name__ == '__main__':
    uvicorn.run('main:app', port=5555, reload=True)

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐