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

Python中利用FileResponse()函数实现文件的发送和接收

发布时间:2023-12-24 16:38:48

在Python中,可以使用FileResponse()函数来实现文件的发送和接收。FileResponse()函数可以将文件作为响应发送到客户端,并可以用于下载文件或在网络上共享文件。

以下是一个简单的例子来说明如何使用FileResponse()函数发送和接收文件:

from fastapi import FastAPI
from fastapi.responses import FileResponse
from fastapi import UploadFile

app = FastAPI()

@app.post("/upload")
async def upload_file(file: UploadFile):
    # 保存接收到的文件到本地
    with open(file.filename, "wb") as f:
        f.write(await file.read())
    
    return {"filename": file.filename}

@app.get("/download/{filename}")
async def download_file(filename: str):
    # 发送文件作为响应到客户端
    return FileResponse(filename)

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

在上述示例中,我们使用FastAPI框架创建了一个基本的Web应用程序。/upload端点为客户端提供了一个方式来上传文件。当客户端发送带有文件的POST请求时,upload_file()函数将文件保存到本地,并返回文件名。

/download/{filename}端点提供了一个简单的方式来下载已保存的文件。当客户端发送GET请求时,download_file()函数使用FileResponse()函数将文件作为响应发送到客户端。

注意,在上述示例中,我们未加入文件验证和安全性措施。在实际使用中,应该加入适当的文件验证和安全性措施来确保应用程序的安全性。

以上就是Python中使用FileResponse()函数实现文件的发送和接收的一个简单例子。使用FileResponse()函数可以轻松实现向客户端发送文件,并且可以扩展为支持更复杂的文件操作和需求。