現在、リクエスト中にいくつかの一時ファイルが操作されるサーバー側のjsonインターフェースを開発しています。
リクエストの最後にこれらのファイルをクリーンアップするための現在のソリューションは次のようになります。
@app.route("/method",methods=['POST'])
def api_entry():
with ObjectThatCreatesTemporaryFiles() as object:
object.createTemporaryFiles()
return "blabalbal"
この場合、クリーンアップは object.__exit__() でレースを行います
ただし、いくつかのケースでは、一時ファイルをクライアントに返す必要があります。その場合、コードは次のようになります。
@app.route("/method",methods=['POST'])
def api_entry():
with ObjectThatCreatesTemporaryFiles() as object:
object.createTemporaryFiles()
return send_file(object.somePath)
クリーンアップが行われると、フラスコはファイルを読み取ってクライアントに送信するプロセスにあるため、これは現在機能しません。¨ どうすればこれを解決できますか?
編集:ファイルが一時ディレクトリにあることを忘れていました。