# -*- coding: utf-8 -*- # # @author: # @date: # @version: # @description: from fastapi import FastAPI, UploadFile import asyncio import os from knowledgebase import utils from knowledgebase.log import Log UPLOAD_FILE_PATH = "upload_files" if not utils.file_exists(UPLOAD_FILE_PATH): os.mkdir(UPLOAD_FILE_PATH) app = FastAPI(swagger_ui_parameters={"syntaxHighlight": False}) @app.get("/") async def read_root(): return {"Hello": "World"} # 上传文件,保存文件到本地,返回md5 @app.post("/UploadFile/") async def upload_file(file: UploadFile): data = await file.read() md5 = await utils.get_md5_async(data) ext = os.path.splitext(file.filename)[1] save_path = f'./upload_files/{md5}{ext}' Log.info(f'上传文件:{file.filename},md5: {md5}') await utils.save_to_file_async(data, save_path) return {"md5": md5}