diff --git a/modules/system/level/service.py b/modules/system/level/service.py index c9b506b..3465a08 100644 --- a/modules/system/level/service.py +++ b/modules/system/level/service.py @@ -39,6 +39,7 @@ # | 许可协议》附件为准。 # +====================================================================== import asyncio +import json import os import random import time @@ -173,12 +174,13 @@ def update_level_status(request, data: LevelStatusForm): # 导入Excel async def import_level(request, file): - # 读取上传的文件 + # 读取上传的文件(upload_file 返回 JSONResponse,需解析 body 判断业务结果) result = await upload.upload_file(file, ".xls|.xlsx") - if result.get('code') != 0: + body = json.loads(result.body) if result.body else {} + if body.get('code') != 0: return result # 本地文件地址 - relative_path = result['data']['filePath'] + relative_path = body['data']['filePath'] path = FASTAPI_UPLOAD_DIR + relative_path def _import(): diff --git a/modules/upload/router.py b/modules/upload/router.py index af09211..086bfe7 100644 --- a/modules/upload/router.py +++ b/modules/upload/router.py @@ -1,4 +1,5 @@ from fastapi import APIRouter, UploadFile, File +from starlette.requests import Request from core.middleware import check_demo from core.middleware import permission_required @@ -12,7 +13,7 @@ router = APIRouter() @router.post('/uploadImage', summary='上传图片') @permission_required("sys:upload:image") @check_demo -async def upload_image(file: UploadFile = File(...)): +async def upload_image(request: Request, file: UploadFile = File(...)): return await upload.upload_image(file) @@ -20,7 +21,7 @@ async def upload_image(file: UploadFile = File(...)): @router.post('/uploadFile', summary='上传文件') @permission_required("sys:upload:file") @check_demo -async def upload_file(file: UploadFile = File(...)): +async def upload_file(request: Request, file: UploadFile = File(...)): return await upload.upload_file(file) @@ -28,7 +29,7 @@ async def upload_file(file: UploadFile = File(...)): @router.post('/uploadEditImage', summary='富文本图片上传') @permission_required("sys:upload:image") @check_demo -async def upload_edit_image(file: UploadFile = File(...)): +async def upload_edit_image(request: Request, file: UploadFile = File(...)): result = await upload.upload_image(file) # 兼容富文本编辑器返回格式 if result.status_code == 200: