from fastapi import APIRouter, UploadFile, File from apps.middleware.check_demo import check_demo from apps.middleware.permission_required import permission_required from apps.services import upload # 创建路由 router = APIRouter() # 上传图片 @router.post('/uploadImage', summary='上传图片') @permission_required("sys:upload:image") @check_demo async def upload_image(file: UploadFile = File(...)): return await upload.upload_image(file) # 上传文件 @router.post('/uploadFile', summary='上传文件') @permission_required("sys:upload:file") @check_demo async def upload_file(file: UploadFile = File(...)): return await upload.upload_file(file) # 富文本图片上传 @router.post('/uploadEditImage', summary='富文本图片上传') @permission_required("sys:upload:image") @check_demo async def upload_edit_image(file: UploadFile = File(...)): result = await upload.upload_image(file) # 兼容富文本编辑器返回格式 if result.status_code == 200: import json body = json.loads(result.body) if body.get('code') == 0 and body.get('data'): file_url = body['data'].get('fileUrl', '') from utils import R return R.ok(error=0, url=file_url) return result