欢迎访问宙启技术站
智能推送

用Python的FileResponse()函数实现文件传输

发布时间:2023-12-24 16:36:57

FileResponse() 函数是 Python 的一种文件传输函数,它常用于将文件从服务器返回到客户端。下面是一个使用 FileResponse() 函数的例子:

from fastapi import FastAPI
from fastapi.responses import FileResponse

app = FastAPI()

@app.get("/files/{file_path:path}")
async def get_file(file_path: str):
    # 指定文件路径
    file_location = f"./files/{file_path}"
    
    # 返回文件响应
    return FileResponse(file_location, filename=file_path)

在这个例子中,我们创建了一个路径为/files/{file_path:path}的接口,用于传输文件。参数 file_path:path 表示我们将通过路径传入文件的相对路径。

当使用此接口时,FastAPI 将根据传入的文件路径构建完整的文件路径。在这个例子中,我们将假设文件在服务器的 ./files/ 目录下。

使用 FileResponse() 函数,我们指定了需传送的文件路径(file_location)和文件名(filename)。

根据文件路径和文件名,FastAPI 将在服务器上查找文件,并将其发送回客户端。客户端将收到一个包含文件内容的 HTTP 响应。

在实际使用时,你需要将 ./files/ 目录替换为你要存储文件的实际路径,确保文件在指定的路径下可访问和传输。

上述示例中只是一个基本的演示,你可以根据实际需求来扩充功能,例如添加身份验证、文件类型检查等。