私のプロジェクトでは、ユーザーがリンクをクリックすると、AJAXリクエストはCSVの作成に必要な情報を送信します。 CSVは生成に時間がかかりますので、生成されたCSVのダウンロードリンクをAJAXレスポンスに含めることができるようにしたいと考えています。これは可能ですか?Flaskでファイルのダウンロードリンクを作成する最も良い方法は?
私は次のようにCSVを返す見てきた答えのほとんどは:
return Response(
csv,
mimetype="text/csv",
headers={"Content-disposition":
"attachment; filename=myplot.csv"})
しかし、私はこれは私がして送信していますAJAXの応答との互換性があるとは思わない:
return render_json(200, {'data': params})
理想的には、params dictでダウンロードリンクを送信できます。しかし、これが安全かどうかもわかりません。この問題はどのようにして解決されますか?
* data *をネットワーク経由で送信することは安全です。ネットワーク経由でデータへのリンクを送信することは安全です。 AJAX +ファイルのダウンロードに関しては、CSVをデータとして送信し、JavaScriptで 'File' APIを使用してファイルを作成してクライアント側でダウンロードするか、新しいタブ/ウィンドウでCSVリンクを開く必要があります。 –