# -*- 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}
|