LoginSignup
11
6

More than 5 years have passed since last update.

Flaskで複数ファイルのアップロード

Last updated at Posted at 2016-11-22

以前、Flaskで複数ファイルのアップロードのやり方がわからず、試行錯誤したので、結果のメモ

サーバ側の処理
if request.files.getlist('upload_files')[0].filename:
    upload_files = request.files.getlist('upload_files')
    for upload_file in upload_files:
        #受信したファイルをtmp/に保存
        upload_file.save("tmp/" + secure_filename(upload_file.filename))
クライアント側のHTML
<form method="post">
    <div class="form-group pull-left">
        <input type="file" id="upload_files" name="upload_files" multiple="multiple" class="form-control">
        <p class="help-block">※複数ファイルの指定が可能です</p>
    </div>
    <div class="form-group">
        <input type="submit" value="送信" class="form-control btn btn-primary">
    </div>
</from>

クライアント側で複数指定して送信までは簡単だったが、それをサーバ側でどう受ければいいのかがよくわからず、四苦八苦。。。
いろいろ調べた結果、複数ファイルを送信すると、同じKEYでrequest.filesに格納されているようなので、request.filesから"get()"でなく"getlist()"で取得することで解決。

11
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
6