私はFlaskを使用しており、フォアマンを実行しています。私はメモリ内に構築したデータを、ユーザーがこのデータをテキスト ファイルでダウンロードできるようにしたいと考えています。ローカル ディスク上のファイルにデータを書き込んでダウンロードできるようにしたくありません。
私はpythonが初めてです。メモリ内にファイルオブジェクトを作成してから、応答ヘッダーを設定すると思いましたか?
私はFlaskを使用しており、フォアマンを実行しています。私はメモリ内に構築したデータを、ユーザーがこのデータをテキスト ファイルでダウンロードできるようにしたいと考えています。ローカル ディスク上のファイルにデータを書き込んでダウンロードできるようにしたくありません。
私はpythonが初めてです。メモリ内にファイルオブジェクトを作成してから、応答ヘッダーを設定すると思いましたか?
ファイルをディスクに保存せずにクライアントにストリーミングする方法については、Flask のドキュメントの「パターン」セクション、特にストリーミングに関するセクションで説明されています。Response
基本的には、イテレータをラップする本格的なオブジェクトを返すことです:
from flask import Response
# construct your app
@app.route("/get-file")
def get_file():
results = generate_file_data()
generator = (cell for row in results
for cell in row)
return Response(generator,
mimetype="text/plain",
headers={"Content-Disposition":
"attachment;filename=test.txt"})