一尘不染

使用Flask上传多个文件

python

有没有办法用Flask接收多个上传的文件?我尝试了以下方法:

<form method="POST" enctype="multipart/form-data" action="/upload">
  <input type="file" name="file[]" multiple="">
  <input type="submit" value="add">
</form>

然后打印内容request.files['file']

@app.route('/upload', methods=['POST'])
def upload():
  if not _upload_dir:
    raise ValueError('Uploads are disabled.')

  uploaded_file = flask.request.files['file']
  print uploaded_file
  media.add_for_upload(uploaded_file, _upload_dir)
  return flask.redirect(flask.url_for('_main'))

如果我上传了多个文件,则它只会打印出该集中的第一个文件:

<FileStorage: u'test_file.mp3' ('audio/mp3')>

有没有一种使用Flask的内置上传处理接收多个文件的方法?谢谢你的帮助!


阅读 136

收藏
2020-12-20

共1个答案

一尘不染

您可以使用flask.request.files的方法getlist,例如:

@app.route("/upload", methods=["POST"])
def upload():
    uploaded_files = flask.request.files.getlist("file[]")
    print uploaded_files
    return ""
2020-12-20