Fastapi实现文档上传

from fastapi import FastAPI, UploadFile
from enum import Enum
import uvicorn

app = FastAPI()

class KnowledgeBaseType(str, Enum):
    PRIVATE = "private"
    PUBLIC = "public"

@app.post("/upload")
def upload_file(file: UploadFile,
                kb_desc: str | None,
                kbt: KnowledgeBaseType = KnowledgeBaseType.PRIVATE):  # UploadFile是类型,不用加括号哦

    content = file.file.read()  # 可以直接使用文件的操作方法
    file.file.close()

    return {
        "filename": file.filename,  # filename 是文件名 如:a.txt
        "type": file.content_type,  # content_type 是文件类型 如:text/plain
        "content": content,  # file是标准的Python文件对象,可以直接使用文件的操作
        "kbt_type": kbt,
        "kbt_desc": kb_desc
    }


if __name__ == '__main__':
    uvicorn.run("file_upload:app", host="127.0.0.1", port=8080, reload=True)
    

你可能感兴趣的:(FastAPI,fastapi)