使用Flask上传多个文件

发布于 2021-01-29 19:35:22

有没有办法用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的内置上传处理接收多个文件的方法?谢谢你的帮助!

关注者
0
被浏览
74
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

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


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看