この記事の内容
この記事では、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の部分で、ダウンロードする際の名前を指定することができます。
ダウンロード後



コメント