今回はFlaskでファイルをアップロードする方法を紹介します。
ファイル構成
apps/
-static/
-upload.html
-app.py
-uploads/
HTML
<form method="POST" action="/uploads/" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit">
</form>
enctype=”multipart/form-data”はファイルを送信する場合必ず指定する必要があります。
プログラム
import os
from flask import Flask, request, redirect ,send_from_directory
app = Flask(__name__)
@app.route("/")
def index():
return render_template("upload.html")
@app.route("/uploads/",methods=["POST"])
def upload():
if ("file" in request.files): #存在確認
upload_folder = "./apps/uploads/"
file = request.files["file"]
file.save(os.path.join(upload_folder ,file.filename)) #file.filenameでファイル名取得
return redirect("/file/"+file.filename)
else: return redirect("/")
@app.route("/file/")
def file_view(file)
return send_from_directory("./uploads/",file)
ファイルをアップロードするとアップロードされたファイルを保存してそれを表示しています。
参考サイト

Flaskで画像ファイルをアップロード - Qiita
はじめにflask でファイルをアップロードするための簡単な web ページを作成したときのメモ
使用した python のバージョンは 3.5 です。ソースコード使用したモジュールimport os
# re...
リンク
コメント