hug create GET endpoint для загрузки созданного документа Word - PullRequest
0 голосов
/ 06 апреля 2020

Я работаю с Python hug API хотел бы создать GET API для внешнего интерфейса. Интерфейс может загрузить созданный файл текстового документа, например, с помощью кнопки загрузки. Однако, пройдя документацию , я все еще не могу найти способ сделать это.

Вот мой рабочий скрипт:

import os
import hug
from docx import Document

@hug.get("/download_submission_document")
def download_submission_document():
    file_name = 'example.docx'
    document = Document()
    document.add_heading('Test header', level=2)
    document.add_paragraph('Test paragraph')
    document.save(file_name)
    # TO DO: send a created file to frontend

I ' Я не уверен, можем ли мы отправить объект сразу или мы должны сначала сохранить его где-нибудь перед отправкой интерфейса. (требования: hug, python-docx)

Я пытаюсь использовать что-то вроде

@hug.get("/download_submission_document", output=hug.output_format.file)

, но не знаю, как вернуть файл.

1 Ответ

0 голосов
/ 06 апреля 2020

Хорошо, я нашел решение, которое проще, чем я думал. Просто сделайте следующее:

@hug.get("/download_submission_document", output=hug.output_format.file)
def download_submission_document():
    file_name = 'example.docx'
    document = Document()
    document.add_heading('Test header', level=2)
    document.add_paragraph('Test paragraph')
    document.save(file_name)
    return file_name

Возврат file_name уже загрузите docx

...