api_get_word.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # -*- coding: utf-8 -*-
  2. from fastapi import Request, APIRouter, Query
  3. from fastapi.responses import FileResponse, PlainTextResponse
  4. from make_docx_demo.main_word_applet import start_make_word as s2
  5. router = APIRouter()
  6. """
  7. @router.post("/make_word")
  8. def make_word(json_data:dict,request:Request,
  9. document_format:int=Query(1,description="1:docx;2.pdf"),
  10. scanpage_format:int=Query(1,description="1:老版筛查表;2.新版筛查表;3.老版+新版筛查表")):
  11. real_ip = request.headers.get("X-Real-IP")
  12. logger.info(f"收到生成word请求:客户ip:{real_ip},查询参数:document_format {document_format},scanpage_format {scanpage_format},参数:{json_data}")
  13. headers = {"Content-Type": "application/octet-stream"}
  14. if path := start_make_word(json_data, document_format, scanpage_format):
  15. return FileResponse(path=path,headers=headers, media_type='application/octet-stream')
  16. else:
  17. return PlainTextResponse(status_code=500,content="服务器内部错误")
  18. """
  19. @router.post("/make_word/vocabulary_assault")
  20. def make_word(json_data: dict, request: Request,
  21. document_format: int = Query(1, description="1:docx;2.pdf"),
  22. scanpage_format: int = Query(1, description="1:老版筛查表;2.新版筛查表;3.老版+新版筛查表")):
  23. headers = {"Content-Type": "application/octet-stream"}
  24. if path := s2(json_data, document_format, scanpage_format):
  25. return FileResponse(path=path, headers=headers, media_type='application/octet-stream')
  26. else:
  27. return PlainTextResponse(status_code=500, content="服务器内部错误")