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()函数可以轻松实现向客户端发送文件,并且可以扩展为支持更复杂的文件操作和需求。
