首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >FastAPI-文件上传(二)

FastAPI-文件上传(二)

原创
作者头像
堕落飞鸟
发布2023-05-07 21:24:50
发布2023-05-07 21:24:50
7130
举报
文章被收录于专栏:飞鸟的专栏飞鸟的专栏

如何处理文件上传并保存

当你接收到一个文件之后,你需要将它保存到你的服务器上。在FastAPI中,你可以使用Python的标准库osshutil来处理文件上传和存储。

代码语言:javascript
复制
from fastapi import FastAPI, File, Form, UploadFile
import shutil
import os

app = FastAPI()

@app.post("/files/")
async def create_file(file: bytes = File(...), fileb: UploadFile = File(...), token: str = Form(...)):
    with open("file.txt", "wb") as f:
        f.write(file)
    os.makedirs("/app/data", exist_ok=True)
    shutil.copy2(fileb.filename, "/app/data")
    return {"file_size": len(file), "token": token}

上面的代码将文件保存到了当前目录下的file.txt文件中,同时将fileb保存到了/app/data目录下。你可以使用open()函数和with语句用于打开并创建文件。其中,"wb"参数表示以二进制写入模式打开文件。你可以使用f.write(file)bytes类型的文件写入到文件中。

os.makedirs("/app/data", exist_ok=True)用于创建一个目录,如果目录已经存在,则不会抛出异常。这个目录将用于存储UploadFile类型的文件。shutil.copy2(fileb.filename, "/app/data")用于将文件从临时目录复制到指定目录中。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何处理文件上传并保存
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档