fastapi文件上传怎么实现
时间: 2024-07-28 20:01:39 浏览: 112
fastadmin上传文件回调和实现自定义批量上传
FastAPI 中文件上传可以通过使用第三方库如 `FastAPI Upload` 或 `starlette-file-upload` 来简化操作。以下是基本步骤:
1. 安装依赖库:
- 使用 `pip install fastapi uploadfiles starlette-forms` (如果你还没安装这两个库的话)
2. 设置 FastAPI 应用:
```python
from fastapi import FastAPI, File, UploadFile
from starlette.responses import Response
app = FastAPI()
@app.post("/upload")
async def create_upload_file(file: UploadFile):
file_name = file.filename
file_bytes = await file.read()
# 你可以选择保存到本地服务器目录,数据库,或者其他存储系统
with open(f"/path/to/save/{file_name}", "wb") as f:
f.write(file_bytes)
return {"filename": file_name, "message": "File uploaded successfully."}
```
3. 在客户端提交表单:
使用HTML模板或者其他前端技术,创建一个表单,允许用户选择文件并发送POST请求到 "/upload" 的 URL。
示例 HTML 表单:
```html
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" accept=".pdf, .jpg" required>
<button type="submit">Upload</button>
</form>
```
阅读全文