Files
RuoYi-Vue3-FastAPI/ruoyi-fastapi-backend/module_admin/controller/common_controller.py
T

40 lines
1.5 KiB
Python

from typing import Annotated
from fastapi import APIRouter, BackgroundTasks, File, Query, Request, Response, UploadFile
from common.aspect.pre_auth import PreAuthDependency
from module_admin.service.common_service import CommonService
from utils.log_util import logger
from utils.response_util import ResponseUtil
common_controller = APIRouter(prefix='/common', dependencies=[PreAuthDependency()])
@common_controller.post('/upload')
async def common_upload(request: Request, file: Annotated[UploadFile, File(...)]) -> Response:
upload_result = await CommonService.upload_service(request, file)
logger.info('上传成功')
return ResponseUtil.success(model_content=upload_result.result)
@common_controller.get('/download')
async def common_download(
request: Request,
background_tasks: BackgroundTasks,
file_name: Annotated[str, Query(alias='fileName')],
delete: Annotated[bool, Query()],
) -> Response:
download_result = await CommonService.download_services(background_tasks, file_name, delete)
logger.info(download_result.message)
return ResponseUtil.streaming(data=download_result.result)
@common_controller.get('/download/resource')
async def common_download_resource(request: Request, resource: Annotated[str, Query()]) -> Response:
download_resource_result = await CommonService.download_resource_services(resource)
logger.info(download_resource_result.message)
return ResponseUtil.streaming(data=download_resource_result.result)