当前位置: 首页 > 知识库问答 >
问题:

使用Flask上载多个文件

暴奕
2023-03-14

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

共有3个答案

甄鹏云
2023-03-14

使用烧瓶1.0.2:

files = request.files.getlist("images")

其中,images是键/值对的键。其值为多个图像。

庄子平
2023-03-14
@app.route('/upload', methods=['GET','POST'])
def upload():
    if flask.request.method == "POST":
        files = flask.request.files.getlist("file")
        for file in files:
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], file.filename))

它对我有用。

UPLOAD_FOLDER如果你需要添加这个只是在app=烧瓶之后。烧瓶(名称)

UPLOAD_FOLDER = 'static/upload'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
娄飞鸾
2023-03-14

您可以使用方法getlist of flask。要求文件,例如:

@app.route("/upload", methods=["POST"])
def upload():
    uploaded_files = flask.request.files.getlist("file[]")
    print uploaded_files
    return ""
 类似资料:
  • 问题内容: 有没有办法用Flask接收多个上传的文件?我尝试了以下方法: 然后打印内容 如果我上传多个文件,它将仅打印该集中的第一个文件: 是否可以使用Flask的内置上传处理方式接收多个文件?谢谢你的帮助! 问题答案: 你可以使用flask.request.files的方法getlist,例如:

  • 问题内容: 我有一个应用程序,该应用程序可以获取一些信息,使用pandas进行一些计算,然后将最终的熊猫数据框转换为CSV,然后使用Flask应用下载。如何在一个视图中下载多个CSV?看来我一次只能返回一个响应。 示例片段: 因此,让我们在上面的示例中说,make_calculation返回了两个pandas数据帧。如何将它们都打印为CSV? 问题答案: 这是你使用所需的全部代码。它将返回一个包含

  • 我正在尝试在一个请求中上传多个文件到Hapi JS服务器。到目前为止我还不成功。这里是原始请求(取自w3org,使过程尽可能简单)。 这是Hapi端的处理程序配置: 调试request.payload时,我只看到两个字段,“files”和“submit-name”,其中files字段包含--bbc04y边界之间的所有内容,即“--bbc04y\r\ncontent-disposition:file

  • 问题内容: 这是我上传多个文件的代码: HTML代码: 密码: 但是它会上传单个文件,而不是多个文件。 问题答案: 在模板中,你需要在上传输入中添加属性: 然后在查看功能中,上传的文件可以通过列表获取。循环此列表并在每个项目上调用save()方法将它们保存在给定路径中: 此外,你可能需要使用secure_filename()来清洁文件名: 你也可以使用此方法生成随机文件名。 完整演示 视图: im

  • 我试图用PythonAnywhere和Flask编写一个非常简单的webapp,它允许用户上传文本文件,生成csv文件,然后让用户下载csv文件。不一定要花哨,只要管用就行了。我已经编写了从驱动器上的txt文件生成csv的程序。 现在,我的函数用以下命令打开驱动器上的文件:

  • 我有一个基本的烧瓶应用程序上传图像文件到服务器,然后在网页上渲染。当多个客户端上传时,在当前的设计中,它们最终覆盖相同的静态资产。当在flask中处理来自多个客户端的上传时,最好的方法是什么?