Flaskでファイルをアップロードする方法

コードFlask

今回は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...

ビスケットを送る

コメント

タイトルとURLをコピーしました