簡體   English   中英

Python Flask 請求刪除文件后的寧靜

[英]Python Flask Restful After Request Delete File

我正在容器內編寫一個簡單的 PDF 轉換器。 發送 docx 並獲取 PDF,但我不希望文件留在服務器上,因此我希望在下載請求后刪除它們。

我嘗試在下載(資源)上獲取請求時使用 flask after_this_request

class Downloader(Resource):
    def get(self, doc_id):

        folder, file_name = FileConverter.download_file(doc_id)
        if not folder:
            return jsonify({"status": "NOTOK", "error": "No File"})

        @after_this_request
        def _clean_file():
            FileConverter.delete_file(doc_id)
        return send_from_directory(folder, file_name, as_attachment=True)

FileConverter.delete_file 檢查文件是否存在並使用 os.remove 刪除它,但是這部分代碼將 PDF 損壞為不可讀。 如果我刪除@after_this_request,我會開始工作 PDF。 我該怎么做?

我遇到了這個問題,我這樣解決了:

class Downloader(Resource):
def get(self, doc_id):

    folder, file_name = FileConverter.download_file(doc_id)
    if not folder:
        return jsonify({"status": "NOTOK", "error": "No File"})

    try:
        return send_from_directory(folder, file_name, as_attachment=True)
    finally:
        FileConverter.delete_file(doc_id)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM