この記事の内容
この記事では、PythonのFlaskを使用して、ファイルをダウンロードを実現する方法について紹介します。
実装方法
今回は、flaskの実装を記載したmain.pyと、同階層のディレクトリに、ダウンロードさせたいtest.zipを配置し、/downloadzipにアクセスがあった場合、ファイルをダウンロードするプログラムを実装します。
そのため、事前にmain.pyと同じ階層にtest.zipのファイルを配置しておいてください。
main.pyの内容は以下の通りです。
from flask import Flask, Response, make_response app = Flask(__name__) @app.route("/downloadzip") def downloadzip(): response = make_response() response.data = open('test.zip', "rb").read() response.headers['Content-Type'] = 'application/octet-stream' response.headers['Content-Disposition'] = 'attachment; filename=test.zip' return response if __name__ == "__main__": app.run(debug=True)
open(‘test.zip’, “rb”).read()で、zipファイルの情報を読み込み、レスポンスで返すデータに代入します。あとは、response.headersの設定でをしています。filename=test.zipの部分で、ダウンロードする際の名前を指定することができます。
ダウンロード後
コメント